[ABC345] F - Many Lamps

F - Many Lamps

Time Limit: 2 sec / Memory Limit: 1024 MB

题面

有一个包含个顶点(编号为)和条边(编号为)的简单图。第条边连接顶点
每个顶点上都有一盏灯。最初,所有灯都是关闭的。

判断是否可以通过执行次操作之间的操作,将恰好盏灯打开。

  • 选择一条边。设为该边的端点。切换上的灯的状态。也就是说,如果灯是亮的,则关闭它,反之亦然。

如果可以打开恰好盏灯,则输出达到此状态的操作序列。

限制条件

  • 给定图是简单图。
  • 所有输入值均为整数。

输入

输入以以下格式从标准输入给出:





输出

如果无法打开恰好盏灯,则输出No
否则,首先输出Yes,然后按以下格式输出操作序列:


这里,是操作次数,是第次操作选择的边的编号。这些需要满足以下条件:

如果有多个满足条件的操作序列,则任何一个都被视为正确。


输入样例 1

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

输出样例 1

Yes
3
3 4 5

如果按照输出样例进行操作,步骤如下:

  • 选择边。打开顶点和顶点上的灯。
  • 选择边。打开顶点和顶点上的灯。
  • 选择边。打开顶点上的灯,关闭顶点上的灯。

完成所有操作后,顶点上的灯都是打开的。因此,此操作序列符合条件。

还有其他满足条件的操作序列,例如。(允许多次选择同一条边)


输入样例 2

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

输出样例 2

No


输入样例 3

10 10 6
2 5
2 6
3 5
3 8
4 6
4 8
5 9
6 7
6 10
7 9

输出样例 3

Yes
3
10 9 6

0条搜索结果。