问题描述
给定一个简单的连通无向图,有 N 个顶点和 M 条边。其中,图是简单图(没有多重边和自环)。
对于 i=1,2,…,M,第 i 条边连接着顶点 ui 和顶点 vi。
如果以下两个条件都满足,则序列 (A1,A2,…,Ak) 被称为长度为 k 的路径:
- 对于所有 i=1,2,…,k,满足 1≤Ai≤N。
- 对于所有 i=1,2,…,k−1,顶点 Ai 和顶点 Ai+1 直接相连。
空序列被视为长度为 0 的路径。
给定一个长度为 N 的字符串 S=s1s2…sN,其中 si 只包含 0 和 1。如果路径 A=(A1,A2,…,Ak) 满足以下条件,则称其为关于 S 的好路径:
- 对于所有 i=1,2,…,N,满足:
- 若 si=0,则 A 中 i 的数量为偶数。
- 若 si=1,则 A 中 i 的数量为奇数。
根据问题的约束,可以证明至少存在一条关于 S 的长度不超过 4N 的好路径。请打印出一条关于 S 的长度不超过 4N 的好路径。
约束条件
- 2≤N≤105
- $N-1 \leq M \leq \min\lbrace 2 \times 10^5, \frac{N(N-1)}{2}\rbrace$
- 1≤ui,vi≤N
- 给定图是简单连通图。
- N,M,ui 和 vi 是整数。
- S 是一个长度为 N 的字符串,只包含 0 和 1。
输入格式
输入以标准输入给出,格式如下:
N M
u1 v1
u2 v2
⋮
uM vM
S
输出格式
以以下格式打印出一条关于 S 的长度不超过 4N 的好路径。具体而言,第一行应该包含路径的长度 K,第二行应该包含路径的元素,元素之间用空格分隔。
K
A1 A2 … AK
示例输入 1
6 6
6 3
2 5
4 2
1 3
6 5
3 2
110001
示例输出 1
9
2 5 6 5 6 3 1 3 6
路径 (2,5,6,5,6,3,1,3,6) 的长度不超过 4N,且
- 它包含奇数个数字 1
- 它包含奇数个数字 2
- 它包含偶数个数字 3
- 它包含偶数个数字 4
- 它包含偶数个数字 5
- 它包含奇数个数字 6
因此,它是关于 S=110001 的好路径。
示例输入 2
3 3
3 1
3 2
1 2
000
示例输出 2
0
空路径 () 是关于 S=000000 的好路径。此外,路径如 (1,2,3,1,2,3) 也被接受。