CSES - Necessary Roads | Con đường cần thiết

View as PDF

Points: 1700 (p) Time limit: 1.0s Memory limit: 512M Input: stdin Output: stdout

\(n\) thành phố và \(m\) con đường giữa chúng. Có một tuyến đường giữa hai thành phố bất kỳ.

Một con đường được gọi là cần thiết nếu không tồn tại tuyến đường giữa một số cặp thành phố sau khi loại bỏ con đường đó. Nhiệm vụ của bạn là tìm tất cả các con đường cần thiết.

Input

  • Dòng đầu vào đầu tiên có hai số nguyên \(n\)\(m\) \((2 \le n \le 10^{5}, 1 \le m \le 2 \times 10^{5})\) - số lượng thành phố và con đường. Các thành phố được đánh số \(1, 2, \ldots, n\).
  • Sau này, có \(m\) dòng theo mô tả các đường đi. Mỗi dòng gồm hai số nguyên \(a\)\(b\) \((1 \leq a, b \leq n)\) - có một con đường giữa các thành phố \(a\)\(b\). Có nhiều nhất một con đường giữa hai thành phố và mọi con đường đều nối hai thành phố phân biệt.

Output

  • Đầu tiên in số nguyên \(k\): số lượng con đường cần thiết. Sau đó, in \(k\) dòng mô tả các con đường. Bạn có thể in các con đường theo bất kỳ thứ tự nào.

Example

Test 1

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

Comments

There are no comments at the moment.