2039年,Dimigo 有 $N$ 座编号从 $1$ 到 $N$ 的建筑物,以及连接这些建筑物的 $M$ 条道路。任意两座建筑物之间至多只有 $1$ 条直接相连的道路。
某天学校爆发了病毒,全校学生面临感染风险。为了阻止病毒传播,你决定通过执行 $0$ 次或多次以下控制操作来封锁所有道路:
- 选择一座与尚未被封锁的道路直接相连的建筑物,封锁所有与该建筑物直接相连的道路。
为了学生的安全,你决定尽可能多地执行控制操作。请给出执行控制操作的顺序。
输入格式
第一行包含两个由空格分隔的整数,分别表示建筑物的数量 $N$ 和道路的数量 $M$。$(1 \le N \le 10^{5}; 0 \le M \le 10^{5})$
接下来的 $M$ 行,每行包含两个由空格分隔的整数 $u$ 和 $v$,表示连接这两座建筑物的道路。$(1 \le u, v \le N; u \ne v)$
输出格式
第一行输出可以执行控制操作的最大次数 $K$。
接下来的 $K$ 行,每行按顺序输出执行控制操作的建筑物编号。
如果存在多种使控制操作次数最大化的方案,输出其中任意一种即可。
样例
输入 1
3 3 3 2 3 1 2 1
输出 1
2 2 3
输入 2
10 8 4 10 10 7 1 4 8 6 10 1 1 9 7 4 9 5
输出 2
6 7 10 4 5 9 8