题目描述
$\tt{Alice}$ 学习了按位异或($\tt{Xor}$)运算 $\oplus$ 的规则:
- 对应位不同时结果为 $\tt{1}$
- 对应位相同时结果为 $\tt{0}$
$\tt{Alice}$ 获得一个包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$ 的数组,并决定执行以下操作:
1. 对于所有满足 $1 \leq i \leq j \leq n$ 的索引对 $(i, j)$,计算和 $a_i + a_j$
2. 现在需要将所有得到的**合法对的和**进行 $\tt{Xor}$ 运算,并输出最终结果
请帮助 $\tt{Alice}$ 计算所需结果。
输入格式
第一行包含整数 $n$($1 \leq n \leq 5 \times 10^5$)
第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($0 \leq a_i < 2^{30}$)
样例输入 #3
7
2 3 5 7 9 11 13
提示
第一个样例解释:
- 合法对的和:$4, 6, 7, 8, 9, 10$
- 异或结果:$4 \oplus 6 \oplus 7 \oplus 8 \oplus 9 \oplus 10 = 14$
**注意常数!**