银河系中建立了一个超空间高速公路网络。每条高速公路都是连接两个行星的单向通道。银河政府想要找到一个适合建造警察局的行星。为了让警察能够保护整个银河系,必须能够通过超空间高速公路网络从警察局所在的行星到达银河系中的每一个行星。
警察不需要能够从任何行星通过超空间高速公路返回警察局。警察在返回途中不需要赶时间,因此他们可以使用比高速公路更慢的交通方式。政府不知道如何找到适合建造警察局的行星,因此他们请求你的帮助。
给定一个单向超空间高速公路网络。请找出所有能够通过一系列高速公路到达银河系中所有其他行星的行星。
第一行包含两个整数 $N$ 和 $M$:行星的数量和高速公路的数量。 接下来有 $M$ 行,每行包含两个整数 $A_i$ 和 $B_i$:第 $i$ 条高速公路连接的行星编号。每条高速公路都是单向的,只能用于从行星 $A_i$ 前往行星 $B_i$。
数据满足 $1 \le N, M \le 10^6$。 对于所有 $i$,满足 $1 \le A_i, B_i \le N$ 且 $A_i \neq B_i$。 没有两条高速公路在同一方向上连接相同的行星。但是,它们可以在相反方向上连接相同的行星。 此外,在 30% 的测试用例中,$N \le 10^3$ 且 $M \le 3 \cdot 10^3$。
输出两行。第一行包含适合建造警察局的行星总数。第二行包含这些行星的编号,按升序排列,并用空格分隔。
样例
输入格式 1
5 6 1 3 1 4 4 2 2 1 2 5 5 4
输出格式 1
4 1 2 4 5
输入格式 2
3 2 1 3 2 3
输出格式 2
0