Đ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\) và \(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\) và \(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