个性
题号: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的人的个性值为a_i,牛妹想知道最初(即0个单位时间)人的个性值为多少,只需要得出一种符合条件的情况即可。

输入描述:

第一行输入三个正整数n,m,t表示图有n个结点,m条边,经过了p个单位时间。
第二行输入n个整数,a_1,a_2,a_3...a_n,表示每个人当前的个性值。
第三行到第m+2行每行输入两个整数u_i,v_i,表示u_iv_i之间有一条边。

输出描述:

一行,n个整数,表示每个人最初的个性值,中间用逗号隔开。只需要输出一种符合条件的情况即可。
示例1

输入

复制
5 6 1
2 2 5 6 5
1 2
2 3
1 5
1 4
3 5
4 5

输出

复制
5 4 3 1 2

说明

样例答案不唯一。

备注:



其余值均小于