CSES - Round Trip II | Chuyến đi vòng tròn II

Xem PDF

Điểm: 1500 (p) Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Byteland có \(n\) thành phố và \(m\) chuyến bay. Nhiệm vụ của bạn là thiết kế một chuyến đi vòng tròn bắt đầu tại một thành phố, đi qua một hay nhiều thành phố khác, và cuối cùng quay lại thành phố bắt đầu. Tất cả thành phố trung gian trong lộ trình đều phải phân biệt.

Input

  • Dòng đầu vào đầu tiên có hai số nguyên \(n\)\(m\): số lượng thành phố và chuyến bay. Các thành phố được đánh số \(1, 2, \ldots, n\).
  • Sau đó, có \(m\) dòng mô tả các chuyến bay. Mỗi dòng có hai số nguyên \(a\)\(b\): có một chuyến bay từ thành phố \(a\) đến thành phố \(b\). Tất cả chuyến bay đều là chuyến bay một chiều từ một thành phố đến một thành phố khác.

Output

  • Đầu tiên in một số nguyên \(k\): số lượng thành phố trong lộ trình. Sau đó in \(k\) thành phố theo thứ tự mà chúng được thăm. Bạn có thể in bất kì lời giải hợp lệ nào.
  • Nếu không có lời giải nào, in IMPOSSIBLE.

Constraints

  • \(1 \le n \le 10^5\)
  • \(1 \le m \le 2 \cdot 10^5\)
  • \(1 \le a,b \le n\)

Example

Sample input

4 5
1 3
2 1
2 4
3 2
3 4

Sample output

4
2 1 3 2


Bình luận

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