Путешествие по дереву
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Во время своих приключений в Фарлуме, Хорнет $$$m$$$ раз путешествовала по дереву скрытых проходов, состоящему из $$$n$$$ вершин. В $$$i$$$-й раз она проходила по единственному пути от вершины $$$a_i$$$ до вершины $$$b_i$$$.

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

Однако структура дерева стерлась из её памяти. Хорнет помнит только число вершин $$$n$$$ и список из $$$m$$$ пар $$$(a_i, b_i)$$$ — начальных и конечных точек её путешествий. Поэтому она задумалась: насколько большим могло быть интересующее её число, если рассматривать все возможные деревья на $$$n$$$ вершинах?

Иными словами, требуется найти максимальный размер подмножества данных пар вершин, для которого существует такое дерево на $$$n$$$ вершинах, что каждое ребро дерева содержится в не более чем одном из путей выбранного множества.

Напомним, что дерево — это неориентированный связный граф без циклов. В дереве на $$$n$$$ вершинах всегда ровно $$$n - 1$$$ ребро.

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

Первая строка содержит два целых числа $$$n$$$ и $$$m$$$ — количество вершин и количество путешествий Хорнет ($$$2 \le n \le 2 \cdot 10^5$$$, $$$1 \le m \le 2 \cdot 10^5$$$).

Следующие $$$m$$$ строк содержат по два целых числа $$$a_i$$$ и $$$b_i$$$ ($$$1 \le a_i, b_i \le n$$$; $$$a_i \ne b_i$$$) — номера стартовой и конечной вершины очередного путешествия.

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

Выведите одно целое число: максимально возможное число путешествий, которое можно выбрать среди данных так, чтобы существовало дерево на $$$n$$$ вершинах, в котором никакое ребро не содержится в более чем одном путешествии.

Примеры

Входные данные
7 3
1 3
4 5
6 7
Выходные данные
3
Входные данные
3 3
1 2
2 3
1 3
Выходные данные
2