Ну дуже поширений метод для графів...
Віталій Гольдштейн на Зимовій Школі розповідав про графи, про білі, чорні і сірі вершини, про розв'зання багатьох задачок на графи методом пошуку у глибину. А на підведенні підсумків почав розповідати про важке життя програміста і тому забув усім на Зимові Школі у Харкові 2011 задати ще одну задачку, яку також можна розв'язати вказаним методом. Звичайно, Віталій не міг забути про неї і попросив нас все-таки запропонувати усім цю задачку, бо як справжній майстер-лектор він не повинен упустити можливості поставити якусь, нехай і просту задачку, при довільному спілкуванні з аудиторією, навіть якщо це спілкування відбувається дистанційно.
Отже, ще одна його проста задачка, яка розв'язується методом пошуку у глибину, звучить так: “Вам задано неорієнтовний граф з N вершинами та M ребрами (1 ≤ N ≤ 20000, 0 ≤ M ≤ 200000). У графі відсутні петлі та кратні ребра. Визначіть компоненти зв'язності заданого графа.”
Вхідні дані
Граф задано у вхідному файлі наступним чином: перший рядок містить числа N і M. Кожен з наступних M рядків містить опис ребра – два цілих числа з діапазону від 1 до N – номери кінців ребра.
Вихідні дані
У єдиному рядку виведіть число L – кількість компонент зв'язності заданого графа.