eolymp
bolt
Try our new interface for solving problems
Problems

Компоненты связности - 2

Компоненты связности - 2

Time limit 1 second
Memory limit 64 MiB

Дан неориентированный невзвешенный граф.

Необходимо посчитать количество его компонент связности и вывести их.

Input data

Во входном файле записано два числа N и M (0 < N100000, 0M100000). В следующих M строках записаны по два числа i и j (1i, jN), которые означают, что рёбра i и j соединены ребром.

Output data

В первой строке выходного файла выведите количество компонент связности. Далее выведите сами компоненты связности в следующем формате: в первой строке количество вершин в компоненте, во второй - сами вершины в произвольном порядке.

Examples

Input example #1
6 4
3 1
1 2
5 4
2 3
Output example #1
3
3
1 2 3 
2
4 5 
1
6