EduBrick

O. Достроить до сильной связности

3000 мс · 256 МБ · всё или ничего

Дан ориентированный граф. Найдите наименьшее число рёбер, которые надо добавить, чтобы из любой вершины можно было добраться до любой другой.

Формат ввода

В первой строке nn и mm (1≤n≤2⋅1051 \le n \le 2 \cdot 10^5, 0≤m≤2⋅1050 \le m \le 2 \cdot 10^5). В каждой из следующих mm строк — ребро из aa в bb. Кратные рёбра и петли допустимы.

Формат вывода

Выведите наименьшее число рёбер, которое нужно добавить.

Примеры

ввод
3 3
1 2
2 3
3 1
вывод
0
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.