你是否知道为题目选拔委员会选择一组人选有多么困难?不知道?那你知道谁知道吗?当然是 Malnar 先生。通过观察人际交往,无所不知的 Malnar 先生已经决定了理想的人选组合应该是什么样的。
目前共有 $N$ 个人正在被考虑加入委员会,并且记录了他们之间的 $M$ 条关系。一条关系由一个有序对 $(a, b)$ 描述,表示人 $a$ 厌恶人 $b$。Malnar 先生将“厌恶环”定义为一个由不同人组成的序列 $x_1, x_2, \dots, x_k$,满足对于每个 $1 \le i \le k$,人 $x_i$ 厌恶人 $x_{i+1}$(其中约定 $x_{k+1} = x_1$)。Malnar 先生注意到这群人有一个奇特的性质:不存在由奇数个人组成的厌恶环。
为了最大程度地减少对委员会人选的不满,Malnar 先生希望寻找一个委员会,使得委员会内部的每个人都彼此和睦,而委员会外的每个人都庆幸自己没有加入。更具体地说:
- 委员会内部不能存在两个人,满足其中一人厌恶另一人。
- 对于委员会外的每个人,委员会中都必须存在一个被其厌恶的人。
你能找到这样一组人吗?
输入格式
第一行包含两个正整数 $N$ 和 $M$,分别表示人数和他们之间的关系数。
接下来的 $M$ 行中,第 $i$ 行包含一个由正整数组成的有序对 $a_i$ 和 $b_i$($1 \le a_i, b_i \le N$),表示人 $a_i$ 厌恶人 $b_i$。保证对于所有 $i = 1, 2, \dots, M$,都有 $a_i \neq b_i$,且没有重复的有序对。
给定的关系保证不存在由奇数个人组成的厌恶环。
输出格式
如果无法选择满足给定条件的一组人,则在唯一的一行中输出 -1。
否则,在第一行输出一个正整数 $K$($1 \le K \le N$),表示委员会中的总人数。
在下一行输出 $K$ 个互不相同的正整数 $p_1, p_2, \dots, p_K$($1 \le p_i \le N$),表示组成委员会的人的编号。
如果存在多个解,输出其中任意一个即可。
数据范围
在所有子任务中,均满足 $1 \le N \le 500\,000$ 且 $0 \le M \le 500\,000$。
| 子任务 | 分值 | 限制 |
|---|---|---|
| 1 | 13 | 不存在厌恶环。 |
| 2 | 21 | 不存在奇数长度的人的序列 $x_1, x_2, \dots, x_k$,满足对于所有 $1 \le i \le k$(约定 $x_{k+1} = x_1$),$x_i$ 或 $x_{i+1}$ 之中有一人厌恶另一人。 |
| 3 | 33 | $N, M \le 5000$。 |
| 4 | 33 | 无附加限制。 |
样例
输入样例 1
4 4 1 2 1 3 2 4 3 4
输出样例 1
2 4 1
输入样例 2
4 4 1 2 2 3 3 4 4 1
输出样例 2
2 1 3
输入样例 3
8 11 1 2 2 1 3 4 4 5 5 6 6 3 7 8 8 7 3 2 7 3 8 1
输出样例 3
3 1 3 5
说明
每个测试用例的输出中展示了所选的人的集合。
第一个样例是子任务 1 和子任务 2 的有效测试用例。
第二个样例不是子任务 1 的有效测试用例,但它是子任务 2 的有效测试用例。
第三个样例既不是子任务 1 的有效测试用例,也不是子任务 2 的有效测试用例。