题号:NC221801
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld
题目描述
众所周知,人的个性是要变的,牛妹为了检验牛牛的忠心,特意出了一道题。
人的交际圈可以看做一个有n个结点,m条没有重边的无向图。每个结点都是一个人,编号分别为1,2,3,...,n-1,n,两点之间有边代表这两个人“关系不错”。
每一个人最开始都会有一个初始个性值,每个人的个性会随着时间的迁移而改变。在每个单位的时间里,每个人的个性值会异或上这个人“关系不错”的所有人的个性值的异或和(即相连的结点的值的异或和)。
自从这个圈子形成已经有t个单位的时间了,牛妹知道现在每个人的个性值,编号为i的人的个性值为

,牛妹想知道最初(即0个单位时间)人的个性值为多少,只需要得出一种符合条件的情况即可。
输入描述:
第一行输入三个正整数n,m,t表示图有n个结点,m条边,经过了p个单位时间。
第二行输入n个整数,
,表示每个人当前的个性值。
第三行到第m+2行每行输入两个整数
,表示
之间有一条边。
输出描述:
一行,n个整数,表示每个人最初的个性值,中间用逗号隔开。只需要输出一种符合条件的情况即可。
示例1
输入
复制
5 6 1
2 2 5 6 5
1 2
2 3
1 5
1 4
3 5
4 5
备注:


其余值均小于
。