#cpsco2019s3e. [cpsco2019_s3_e]Enumerate Xor Sum

[cpsco2019_s3_e]Enumerate Xor Sum

问题描述

给定一个由长为 NN 的非负整数组成的序列 A1,A2,,ANA_1, A_2, \ldots, A_N。对于每个 k=1,2,,Nk = 1, 2, \ldots, N,请编写一个程序,满足以下要求:

  • X=A1X = A_1 xor{\rm xor} A2A_2 xor{\rm xor} \ldots xor{\rm xor} AkA_k
  • 输出 (A1(A_1 xor{\rm xor} X)+(A2X) + (A_2 xor{\rm xor} X)++(AkX) + \ldots + (A_k xor{\rm xor} X)X) 的值。

请注意,XX 的定义随着 kk 的变化而变化。

另外,整数 c1,c2,,cmc_1, c_2, \ldots, c_mxor{\rm xor} 定义如下:

  • 设求得的 xor{\rm xor} 值为 XX
  • 如果当将 XX 表示为二进制时,2k2^k (kk 是非负整数) 位的值为奇数个,则 XX 的二进制表示中的 2k2^k 位的值为 11;如果为偶数个,则 XX 的二进制表示中的 2k2^k 位的值为 00

约束条件

  • 1N3×1051 \le N \le 3 \times 10^5
  • 0Ai<2300 \le A_i < 2^{30}
  • 所有输入都是整数。

输入

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

NN A1A_1 A2A_2 \ldots ANA_N

输出

对于每个 k=1,2,,Nk = 1, 2, \ldots, N,请每行输出一个答案。


输入示例 1

3
7 5 3

输出示例 1

0
12
12
  • k=1k = 1 时,X=7X = 7,因此 A1A_1 xor{\rm xor} X=0X = 0
  • k=2k = 2 时,X=7X = 7 xor{\rm xor} 5=25 = 2,因此 A1A_1 xor{\rm xor} X=5X = 5A2A_{2} xor{\rm xor} X=7X = 7,总和为 1212
  • k=3k = 3 时,X=7X = 7 xor{\rm xor} 55 xor{\rm xor} 3=13 = 1,因此 A1A_1 xor{\rm xor} X=6X = 6A2A_{2} xor{\rm xor} X=4X = 4A3A_{3} xor{\rm xor} X=2X = 2,总和为 1212

输入示例 2

7
12 42 61 31 34 53 17

输出示例 2

0
54
110
138
142
233
252