Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

DTOFF - Văn phòng

Dương vừa mới khai trương công ti điện thoại XXX.Mỗi nhân viên được công ti cấp cho một chiếc điện thoại.Vì công ti phát triển thịnh vượng nên Dương quyết định mở một số trụ sở con.Tuy nhiên để giữ liên lạc hai nhân viên ở hai trụ sở khác nhau phải liên lạc được với nhau.Vì muốn không gian làm việc là thoáng mát nhất có thể,Dương muốn số trụ sở là lớn nhất có thể.
Bạn phải viết một chương trình:
+) Đọc miêu tả về số nhân viên và các nhân viên nào có thể liên lạc với nhau.

         +) Tính số lượng trụ sở tối đa.

         +) In ra trong output.

Input

Dòng đầu là số n , m ( n <= 10^5 , m <= 2*10^6 ) thể hiện số nhân viên và số nhân viên có thể liên lạc với nhau.m dòng tiếp là các cặp a , b ( 1 <= a < b <= n) thể hiện nhân viên a liên lạc được với nhân viên b (cũng có nghĩa là b liên lạc được với a) .Mỗi cặp nhân viên chỉ xuất hiện đúng một lần.

Output

Dòng đầu là số trụ sở tối đa.Dòng tiếp theo là số nhân viên trong các trụ sở in ra theo thứ tự tăng dần.

Example

Input:
7 16
1 3
1 4
1 5
2 3
3 4
4 5
4 7
4 6
5 6
6 7
2 4
2 7
2 5
3 5
3 7
1 7
Output:
3
1 2 4
Nhân viên 4 ở trụ sở 1 , nhân viên 5 , 7 ở trụ sở 2 còn lại ở trụ sở 3. 

Được gửi lên bởi:Tai Khoan Chung
Ngày:2015-07-17
Thời gian chạy:1s
Giới hạn mã nguồn:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Ngôn ngữ cho phép:C C++ 4.3.2 CPP CPP14
Nguồn bài:POI

© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.