#loj5611. 「PA 2016 Final」Dwie ścieżki

「PA 2016 Final」Dwie ścieżki

[AdditionalFile5611.zip](file://AdditionalFile5611.zip?type=additional_file)

#5611. 「PA 2016 Final」Dwie ścieżki

标签: 传统 | 时间限制: 3000 ms | 内存限制: 256 MiB |

题目描述

题目译自 PA 2016 Final Dwie ścieżki

在 Bajtocja,城市之间由单向道路连接。那里的道路网非常特殊:对于任意城市,如果你沿某条道路离开该城市,就无法再通过遵循道路方向的方式回到该城市。换句话说,我们可以将 Bajtocja 的道路网看作一个有向无环图(DAG)。

这种道路网的特性也带来了一些问题。有些城市甚至从首都出发也无法到达。由于道路经常因现代化改造而暂停通行,问题变得更加严重。住在首都的 Bajtazar 经常前往 Bajtocja 的各个城市。他想知道,对于每个城市,是否可以从首都出发通过两条没有任何公共道路(边不相交)的路径到达。如果是这样,或者该目的地城市本身就是首都,Bajtazar 就知道他去往该城市的旅行将会非常顺畅,即使其中一条道路(或某条路径上的多条道路)正在维修也不会受到影响。

请帮助 Bajtazar 确定他可以顺畅前往的城市集合。

输入格式

第一行包含两个自然数 nnmm (1n200000,1m500000)(1 \leq n \leq 200000, 1 \leq m \leq 500000),分别表示城市的数量和它们之间的道路数量。城市编号为从 11nn。Bajtocja 的首都编号为 11

接下来的 mm 行包含道路的描述。第 ii 行包含两个整数 uiu_{i}viv_{i} (1ui,vin,uivi)(1 \leq u_{i}, v_{i} \leq n, u_{i} \neq v_{i}),表示第 ii 条单向道路从城市 uiu_{i} 通往城市 viv_{i}

输出格式

第一行输出 Bajtazar 可以顺畅前往的城市数量。

第二行以升序输出这些城市的编号,城市编号之间用单个空格分隔。

样例

输入

7 9
1 2
1 3
3 4
4 5
2 4
2 5
5 6
5 7
5 7

输出

4
1 4 5 7