11735. Нескінчена прогулянка
Маємо простий орієнтований граф \(G\) з \(N\) вершинами та \(M\) ребрами. Вершини позначені як 1, 2, …, N. \(i\)-те ребро (\(1 \leq i \leq M\)) йде від вершини \(U_i\) до вершини \(V_i\).
Степан почне з вершини та кілька разів переміщатиметься на \(G\) від однієї вершини до іншої вздовж спрямованого ребра. Скільки вершин \(G\) мають таку умову: Степан може почати з цієї вершини і продовжувати подорож необмежено довго, ретельно вибираючи шлях?
Обмеження
\(1 \leq N \leq 2\times 10^5\)
\(0 \leq M \leq \min(N(N-1), 2 \times 10^5)\)
\(1 \leq U_i,V_i \leq N\)
\(U_i \neq V_i\)
\((U_i,V_i) \neq (U_j,V_j)\), якщо \(i \neq j\)
Формат вхідних даних
Перший рядок містить цілі числа \(N,M\)
Наступні \(M\) рядків містять цілі числа \(U_i, V_i\)
Числа у рядках розділяються пропуском.
Формат вихідних даних
У вихідний потік виведіть шукану кількість.
Примітка
До прикладу 1:
Починаючи з вершини 2, Степан може продовжувати подорож необмежено: 2 → 3 → 4 → 2 → 3 → ⋯
Те саме відбувається, починаючи з вершини 3 або вершини 4.
Від вершини 1 , він може спочатку піти до вершини 2, а потім знову продовжувати подорож необмежено довго.
З іншого боку, з 5 він не може рухатися взагалі. Таким чином, чотири вершини 1, 2, 3 і 4 ― задовольняють умови
Приклад вхідних даних
5 5
1 2
2 3
3 4
4 2
4 5
Приклад вихідних даних
4
Приклад вхідних даних
3 2
1 2
2 1
Приклад вихідних даних
2
Коментарі