#AT1611. E - Red Scarf

E - Red Scarf

E - 红围巾

分数:500分

问题描述

有$N$只Snuke猫,分别编号为$1, 2, \ldots, N$,其中$N$是偶数

每只Snuke猫都佩戴着一条红色的围巾,上面写着它们最喜欢的非负整数。

最近,它们学会了一种叫做“异或(xor)”的运算。

什么是异或的运算?

对于$n$个非负整数$x_1, x_2, \ldots, x_n$,它们的异或运算$x_1~\textrm{xor}~x_2~\textrm{xor}~\ldots~\textrm{xor}~x_n$的定义如下:

  • 当将$x_1~\textrm{xor}~x_2~\textrm{xor}~\ldots~\textrm{xor}~x_n$写成二进制形式时,$2^k$位上的数字($k \geq 0$)是$1$,如果$x_1, x_2, \ldots, x_n$中二进制表示的$2^k$位上数字为$1$的整数的个数是奇数,否则为$0$。
例如,$3~\textrm{xor}~5 = 6$。

它们想要能够快速进行这种运算,所以每只猫都计算了除了自己围巾上的整数之外的所有围巾上的整数的异或结果。

已知,Snuke猫$i$计算得到的异或结果,即除了编号为$i$的猫围巾上整数之外,其它围巾上的整数的异或结果为$a_i$。

给定这些信息,恢复每只猫围巾上所写整数的值。

约束

  • 输入中的所有值为整数。
  • $2 \leq N \leq 200000$
  • $N$是偶数
  • $0 \leq a_i \leq 10^9$
  • 存在与给定信息一致的围巾上整数的组合。

输入

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

NN

a1a_1 a2a_2 \ldots aNa_N

输出

打印一行,包含用空格分隔的$N$个整数。

从左边开始的第$i$个整数应表示Snuke猫$i$围巾上所写整数的值。

如果存在多个可能的解,请随意输出其中一个。


4
20 11 9 24
26 5 7 22
  • $5~\textrm{xor}~7~\textrm{xor}~22 = 20$
  • $26~\textrm{xor}~7~\textrm{xor}~22 = 11$
  • $26~\textrm{xor}~5~\textrm{xor}~22 = 9$
  • $26~\textrm{xor}~5~\textrm{xor}~7 = 24$

因此,这个输出与给定的信息一致。