AT_arc056_b [ARC056B] 駐車場
Description
[problemUrl]: https://atcoder.jp/contests/arc056/tasks/arc056_b
駐車場で$ N $人が車を駐めようとしています。 駐車場は$ N $個の駐車スペースがあり$ 1 $から$ N $まで番号付けられています。また、$ 2 $つの駐車スペースを双方向に結ぶ道が$ M $本あり、$ i $番目の道は$ u_i $番目の駐車スペースと$ v_i $番目の駐車スペースを結んでいます。 駐車スペース$ S $は駐車場の入り口とつながっています。
$ i $番目の人は、どういうわけか$ i $番目の駐車スペースにしか車を駐めたくないようです。このため、駐車場の入り口から、まだ誰も車を駐めていない駐車スペースとそれらを結ぶ道を通って$ i $番目の駐車スペースに行くことができないとき、車を駐めずに帰ってしまいます。
$ 1 $番目の人から$ N $番目の人まで順番に駐車場にやってきます。最終的に駐車場に駐める人の番号を昇順に出力してください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ M $ $ S $ $ u_1 $ $ v_1 $ : $ u_M $ $ v_M $
Output Format
最終的に駐車場に駐める人の番号を昇順に$ 1 $行ずつ出力せよ。
Explanation/Hint
### 制約
- $ 1\ ≦\ N,\ M\ ≦\ 2*10^5 $
- $ 1≦u_i,\ v_i≦N $
- $ u_i\ ≠\ v_i $
- $ 1\ ≦\ S\ ≦\ N $
- 全ての駐車スペースへは、入り口から道と駐車スペースを経由してたどり着くことができる
### 部分点
- $ M\ ≦\ 2,000 $ を満たすテストケース全てに正解した場合、部分点として$ 40 $点が与えられる。
### Sample Explanation 1
$ 1 $番目の車は、駐車スペース$ 1 $に行くことができるためそこに駐めます。 $ 2 $番目の車は、駐車スペース$ 2 $に行くことができるためそこに駐めます。 $ 3 $番目の車は、$ 2 $番目の車に塞がれ駐車スペース$ 3 $に行くことができないため、帰ります。
### Sample Explanation 2
!\[https://arc056.contest.atcoder.jp/img/arc/056/vafbafvasrf/imgB.png\](https://arc056.contest.atcoder.jp/img/arc/056/vafbafvasrf/imgB.png)青い円を空いている駐車スペース、赤い円を車のいる駐車スペースとすると、上図のような順番で駐車スペースが埋まっていき、$ 4 $番目の車は駐めることができません。