第21908题
冰阔落 I:多组测试数据下的杯子合并查询与结果统计

冰阔落 I。 老王喜欢喝冰阔落。 初始时刻,桌面上有n杯阔落,编号为1到n。老王总想把其中一杯阔落倒到另一杯中,这样他一次性就能喝很多很多阔落,假设杯子的容量是足够大的。 有m次操作,每次操作包含两个整数x与y。 若原始编号为x的阔落与原始编号为y的阔落已经在同一杯,请输出"Yes";否则,我们将原始编号为y所在杯子的所有阔落,倒往原始编号为x所在的杯子,并输出"No"。 最后,老王想知道哪些杯子有冰阔落。 时间限制:10000 内存限制:65536

输入

有多组测试数据,少于5组。每组测试数据,第一行两个整数n, m (n, m<=50000)。接下来m行,每行两个整数x, y (1<=x, y<=n)。

输出

每组测试数据,前m行输出"Yes"或者"No"。第m+1行输出一个整数,表示有阔落的杯子数量。第m+2行有若干个整数,从小到大输出这些杯子的编号。

样例输入

3 2
1 2
2 1
4 2
1 2
4 3

样例输出

No
Yes
2
1 3 
No
No
2
1 4