eolymp
bolt
Try our new interface for solving problems
Problems

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

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

Дан неориентированный невзвешенный граф. Необходимо посчитать количество его компонент связности и вывести их. \InputFile Во входном файле записано два числа \textbf{N} и \textbf{M} (\textbf{0} < \textbf{N} ≤ \textbf{100000}, \textbf{0} ≤ \textbf{M} ≤ \textbf{100000}). В следующих \textbf{M} строках записаны по два числа \textbf{i} и \textbf{j} (\textbf{1} ≤ \textbf{i}, \textbf{j} ≤ \textbf{N}), которые означают, что рёбра \textbf{i} и \textbf{j} соединены ребром. \OutputFile В первой строке выходного файла выведите количество компонент связности. Далее выведите сами компоненты связности в следующем формате: в первой строке количество вершин в компоненте, во второй - сами вершины в произвольном порядке.
Time limit 1 second
Memory limit 64 MiB
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