G. Товарищ майор
ограничение по времени на тест
0.3 секунд
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Товарищ майор занимается раскрытием преступлений, совершенных преступными сообществами. Для этого он внимательно изучает материалы дел, в которых находит следы связей между преступниками. Если от одного преступника до другого можно дойти следуя этим связям, то все кто участвует в такой цепочке, составляют одно преступное сообщество.

Учтите, что один преступник не может сам по себе составлять преступное сообщество.

За каждое раскрытое преступное сообщество Товарищ майор получает звездочку на погоны. Сколько звездочек он получит после изучения всех материалов?

Входные данные

В первой строке через пробел задаются числа $$$1 \lt N \lt = 100$$$ — количество преступников, на которых есть какие-то данные и $$$1 \lt = M \lt = N^2$$$ — количество связей в изучаемых материалах.

Далее следуют $$$M$$$ строк, в каждой из которых записана пара чисел $$$(x_i, y_i)$$$, $$$0 \lt = x_i, y_i \lt N$$$, которые задают что в материалах задокументирована связь между преступником $$$x_i$$$ и $$$y_i$$$.

Выходные данные

Единственное целое число, равное количеству звездочек, которые получит Товарищ майор.

Пример
Входные данные
10 4
1 2
1 3
0 2
0 1
Выходные данные
1