Problem9598--ABC245 —— F - Endless Walk

9598: ABC245 —— F - Endless Walk

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 512 MiB

Description

We have a simple directed graph $G$ with $N$ vertices and $M$ edges. The vertices are labeled as Vertex $1$, Vertex $2$, $\ldots$, Vertex $N$. The $i$-th edge $(1\leq i\leq M)$ goes from Vertex $U_i$ to Vertex $V_i$.

Takahashi will start at a vertex and repeatedly travel on $G$ from one vertex to another along a directed edge. How many vertices of $G$ have the following condition: Takahashi can start at that vertex and continue traveling indefinitely by carefully choosing the path?

Input

Input is given from Standard Input in the following format:

```
$N$ $M$
$U_1$ $V_1$
$U_2$ $V_2$
$\vdots$
$U_M$ $V_M$
```

Output

Print the answer.

Constraints

-   $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)$ if $i\neq j$.
-   All values in input are integers.

Sample 1 Input

5 5
1 2
2 3
3 4
4 2
4 5

Sample 1 Output

4

When starting at Vertex 2, Takahashi can continue traveling indefinitely: 2 → 3 → 4 → 2 → 3 → ⋯ The same goes when starting at Vertex 3 or Vertex 4. From Vertex 1, he can first go to Vertex 2 and then continue traveling indefinitely again.
On the other hand, from Vertex 5, he cannot move at all.

Thus, four vertices ―Vertex 1, 2, 3, and 4― satisfy the conditions, so 4 should be printed.

Sample 2 Input

3 2
1 2
2 1

Sample 2 Output

2
Note that, in a simple directed graph, there may be two edges in opposite directions between the same pair of vertices. Additionally, G may not be connected.

Source/Category