Thăm viếng lẫn nhau

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1900 Thời gian: 1.0s Bộ nhớ: 500M Input: bàn phím Output: màn hình

Có \(n\) thị trấn ở thành phố Byteotia. Một vài thị trấn được nối với nhau bằng các con đường trực tiếp hai chiều. Những con đường này không cắt nhau ở bên ngoài các thị trấn. Mỗi cặp thị trấn được nối với nhau bằng nhiều nhất một con đường trực tiếp. Bạn có thể từ một thị trấn này đến một thị trấn khác thông bằng một con đường trực tiếp hoặc thông qua một vài con đường trung gian (đường đi).

Mỗi thị trấn có chính xác một cư dân và vì lý do này mà các cư dân cảm thấy cô đơn. Do vậy mỗi cư dân đều đi đến nhà các cư dân khác để thăm hỏi. Dễ thấy rằng có tất cả \(n \times (n - 1)\) cuộc thăm hỏi diễn ra.

Trên đất nước này thường diễn ra các cuộc biểu tình của những người lập trình. Họ yêu cầu mọi người sử dụng máy tính phải trả tiền cho những phần mềm được viết ra. Khi một cuộc biểu tình diễn ra ở một thị trấn thì mọi ngả đường vào/ra khỏi thị trấn này đều bị phong tỏa. Điều này dẫn đến hậu quả là một số cuộc viếng thăm sẽ không được diễn ra.

Bạn được chính phủ thuê để xác định thiệt hai của mỗi cuộc biểu tình nếu nó diễn ra ở một thị trấn nào đó. Thiệt hại được đo bằng số cặp thị trấn không đến thăm được nhau nếu cuộc biểu tình xảy ra.

Input

  • Dòng đầu tiên ghi hai số nguyên \(n, m\) \((1 \leq n \leq 10^{5}, 1 \leq m \leq 5 \times 10^{5})\) lần lượt là số lượng thị trấn và số con đường hai chiều nối trực tiếp giữa các thị trấn.
  • m dòng tiếp theo, mỗi dòng ghi hai số \(a, b\) \((1 \leq a,b \leq n, a \neq b)\) thể hiện một con đường hai chiều nối giữa thị trấn \(a\) và thị trấn \(b\).

Output

  • Ghi \(n\) số, số thứ \(i\) thể hiện số cặp thị trấn mà họ không thể đến thăm được nhau nếu cuộc biểu tình diễn ra ở thành phố \(i\).

Example

Test 1

Input
5 5 
1 2 
2 3 
1 3 
3 4 
4 5
Output
8
8
16
14
8

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.