AT_cpsco2019_s3_e Enumerate Xor Sum
Description
[problemUrl]: https://atcoder.jp/contests/cpsco2019-s3/tasks/cpsco2019_s3_e
長さ $ N $ の $ 0 $ 以上の整数からなる数列 $ A_1,\ A_2,\ \ldots,\ A_N $ が与えられます。各 $ k\ =\ 1,\ 2,\ \ldots,\ N $ に対して
- $ X\ =\ A_1 $ $ {\rm\ xor} $ $ A_2 $ $ {\rm\ xor} $ $ \ldots $ $ {\rm\ xor} $ $ A_k $ として、
- $ (A_1 $ $ {\rm\ xor} $ $ X)\ +\ (A_2 $ $ {\rm\ xor} $ $ X)\ +\ \ldots\ +\ (A_k $ $ {\rm\ xor} $ $ X) $ の値を出力する
ようなプログラムを作ってください。$ X $ の定義が $ k $ によって変化することに注意してください。
なお、整数 $ c_1,\ c_2,\ \ldots,\ c_m $ の $ {\rm\ xor} $ は以下のように定義されます:
- 求める $ {\rm\ xor} $ の値を $ X $ とおいて、
- $ X $ を二進数表記したときの $ 2^k $ ($ k $ は $ 0 $ 以上の整数) の位の値は、$ c_1,\ c_2,\ \ldots,\ c_m $ のうち、二進数表記したときの $ 2^k $ の位の値が $ 1 $ となるものが奇数個ならば $ 1 $、偶数個ならば $ 0 $ となる。
Input Format
入力は以下の形式で標準入力から与えられます。
> $ N $ $ A_1 $ $ A_2 $ $ \ldots $ $ A_N $
Output Format
各 $ k\ =\ 1,\ 2,\ \ldots,\ N $ に対する答えを一行ずつ出力してください。
Explanation/Hint
### 制約
- $ 1\ \le\ N\ \le\ 3\ \times\ 10^5 $
- $ 0\ \le\ A_i $
- 与えられる入力はすべて整数です。
### Sample Explanation 1
\- $ k\ =\ 1 $ のとき、$ X\ =\ 7 $ なので、$ A_1 $ $ {\rm\ xor} $ $ X\ =\ 0 $ となります。 - $ k\ =\ 2 $ のとき、$ X\ =\ 7 $ $ {\rm\ xor} $ $ 5\ =\ 2 $ なので、$ A_1 $ $ {\rm\ xor} $ $ X\ =\ 5 $、$ A_{2} $ $ {\rm\ xor} $ $ X\ =\ 7 $ より、合計値は $ 12 $ になります。 - $ k\ =\ 3 $ のとき、$ X\ =\ 7 $ $ {\rm\ xor} $ $ 5 $ $ {\rm\ xor} $ $ 3\ =\ 1 $ なので、$ A_1 $ $ {\rm\ xor} $ $ X\ =\ 6 $、$ A_{2} $ $ {\rm\ xor} $ $ X\ =\ 4 $、$ A_{3} $ $ {\rm\ xor} $ $ X\ =\ 2 $ より、合計値は $ 12 $ になります。