CSES - Critical Cities
  • Time limit: 1.00 s
  • Memory limit: 512 MB
There are $n$ cities and $m$ flight connections between them. A city is called a critical city if it appears on every route from a city to another city.

Your task is to find all critical cities from Syrjälä to Lehmälä.


The first input line has two integers $n$ and $m$: the number of cities and flights. The cities are numbered $1,2,\dots,n$. City $1$ is Syrjälä, and city $n$ is Lehmälä.

Then, there are $m$ lines describing the connections. Each line has two integers $a$ and $b$: there is a flight from city $a$ to city $b$. All flights are one-way.

You may assume that there is a route from Syrjälä to Lehmälä.


First print an integer $k$: the number of critical cities. After this, print $k$ integers: the critical cities in increasing order.

  • $2 \le n \le 10^5$
  • $1 \le m \le 2 \cdot 10^5$
  • $1 \le a,b \le n$

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

1 2 5