Задано неорієнтований незважений граф.
Необхідно порахувати кількість його компонент зв'язності і вивести їх.
У вхідному файлі записано два числа та (0 < N \leq 100000, 0 \leq M \leq 100000). У наступних рядках записано по два числа та (1 \leq i, j \leq N), які означають, що вершини та з'єднані ребром.
У першому рядку вихідного файлу виведіть кількість компонент зв'язності. Далі виведіть самі компоненти зв'язності у наступному форматі: у першому рядку кількість вершин у компоненті, у другому — самі вершини у довільному порядку.
Приклад 1