Điều hướng chính

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Tàu cao tốc Metro

Dễ

  • 100 Điểm
  • 0% Tỉ lệ AC
  • 0 Số AC
  • 256M Bộ nhớ giới hạn
  • 1.0s Giới hạn thời gian

Có \(n\) điểm tập trung dân cư đông đúc. Các điểm này được đánh số từ \(1\) đến \(n\) \((1 \leq n \leq 10^4)\). Mạng lưới giao thông công cộng là \(m\) đường xe lửa cao tốc một ray, mỗi đường nối một cặp điểm dân cư và chạy hai chiều \((0 \leq m \leq 10^5)\), và mọi cặp điểm đều có thể đi đến được với nhau. Để tránh sự va chạm giữa các con tàu cao tốc khi chúng có thể đi ngược chiều trên cùng một đường, chính quyền thành phố quyết định sửa lại các con đường đó thành một chiều. Tuy nhiên, sau khi thay đổi thì lại có một vấn đề bất cập sảy ra, đó là: tồn tại các cặp điểm tập trung dân cư không thể đi đến được nhau.

Chính vì vậy, chính quyền lại thêm một quyết định nữa, đó là sẽ xây dựng thêm một số ít nhất các tuyến đường mới để đảm bảo từ một điểm bất kỳ có thể đi tới điểm bất kỳ khác bằng tàu cao tốc.
Ví dụ, với \(n = 5\) và hiện có 4 đường: \(1 - 2\), \(2 - 3\), \(1 - 4\) và \(4 - 5\). Để đảm bảo yêu cầu đã nêu, người ta cần xây dựng ít nhất \(2\) đường mới, chẳng hạn \(5 - 3\) và \(3 - 1\).

Yêu cầu: Cho \(n\), \(m\) và các cặp \((a, b)\) mô tả mạng giao thông sau khi đã sửa thành đường \(1\) chiều. Mỗi cặp \((a, b)\) xác định tồn tại đường tàu \(a - b\). Hãy xác định số lượng tối thiểu các đường cần xây dựng thêm.

Input

Vào từ file văn bản MONORAIL.INP:

  • Dòng đầu tiên chứa 2 số nguyên n và m,
  • Mỗi dòng trong m dòng tiếp theo chứa 2 số nguyên a và b.

Output

Đưa ra file văn bản MONORAIL.OUT một số nguyên -- số đường mới.

Example

Test 1

Input
5 4
1 2
2 3
1 4
4 5
Output
2

Bình luận

Chưa có bình luận nào.