Skip to content

P10007

P1007 欧拉迹

Description

给出一个 \(n\) 个点,\(m\) 条边的无向图,你需要判断它是否含有欧拉迹,若含有,则输出一条欧拉迹。

注意:欧拉迹仅要求所有边遍历一次,允许孤点不被遍历。

Format

Input

本题有共有 \(T\) 组数据,第一行输入整数 \(T\),对于每组数据,输入格式为:

第一行输入两个正整数 \(n,m\)

接下来 \(m\) 行每行输入两个正整数 \(x,y\) 表示 \(x\)\(y\) 有一条无向边。

本题共有 \(3\) 个测试点包。

对于测试点包 \(1\),满足 \(n\le 10,m\le 20,T\le 10\)

对于测试点包 \(2\),满足 \(n\le 1000,m\le 2000,T\le 10\)

对于全部测试点,保证 \(n\le 5\times 10^5,m\le 2\times n,1\le \sum n\le 10^6,1\le \sum m\le 2\times 10^6\).

保证所有操作满足题目描述,保证每一行的两个相邻整数都仅用一个空格隔开。

Output

对于每组数据,如果不含欧拉迹,输出一行 "No"。否则第一行输出 "Yes",第二行输出 \(l\) 表示欧拉迹上的顶点个数,第三行输出 \(l\) 个整数,表示欧拉迹上的顶点,你需要保证相邻的顶点间存在连边,且每条边出现且仅出现一次。若干存在多个解,输出任意一个即可。

Samples

Sample Input 1

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

Sample Output 1

Yes
7
3 5 1 2 3 4 5 
Yes
10
1 5 2 4 1 2 5 3 2 1 
No
Yes
3
1 2 1