Vào năm $2039$, tại trường Dimigo có $N$ tòa nhà được đánh số từ $1$ đến $N$ và $M$ con đường nối giữa các tòa nhà này. Giữa hai tòa nhà bất kỳ có tối đa một con đường trực tiếp.
Một ngày nọ, một loại virus bùng phát trong trường và toàn bộ học sinh đứng trước nguy cơ bị lây nhiễm. Để ngăn chặn sự lây lan của virus, bạn quyết định thực hiện công việc kiểm soát các con đường bằng cách thực hiện thao tác sau đây từ $0$ lần trở lên cho đến khi tất cả các con đường đều bị kiểm soát:
- Chọn một tòa nhà được kết nối trực tiếp với ít nhất một con đường chưa bị kiểm soát, sau đó kiểm soát tất cả các con đường được kết nối trực tiếp với tòa nhà đó.
Vì sự an toàn của học sinh, bạn quyết định thực hiện công việc kiểm soát này với số lần tối đa có thể. Hãy xác định thứ tự thực hiện các thao tác kiểm soát đó.
Dữ liệu vào
Dòng đầu tiên chứa hai số nguyên $N$ và $M$ cách nhau bởi dấu cách, lần lượt là số lượng tòa nhà và số lượng con đường. $(1 \le N \le 10^{5}; 0 \le M \le 10^{5})$
Từ dòng thứ hai, $M$ dòng tiếp theo, mỗi dòng chứa hai số nguyên $u$ và $v$ cách nhau bởi dấu cách, biểu thị một con đường nối giữa tòa nhà $u$ và $v$. $(1 \le u, v \le N; u \ne v)$
Dữ liệu ra
Dòng đầu tiên in ra số lần thực hiện thao tác kiểm soát tối đa $K$.
Từ dòng thứ hai, $K$ dòng tiếp theo, mỗi dòng in ra số hiệu của tòa nhà được chọn để thực hiện thao tác kiểm soát theo đúng thứ tự.
Nếu có nhiều cách để tối đa hóa số lần thực hiện thao tác, bạn có thể in ra bất kỳ cách nào trong số đó.
Ví dụ
Dữ liệu vào 1
3 3 3 2 3 1 2 1
Dữ liệu ra 1
2 2 3
Dữ liệu vào 2
10 8 4 10 10 7 1 4 8 6 10 1 1 9 7 4 9 5
Dữ liệu ra 2
6 7 10 4 5 9 8