AT_abc390_d [ABC390D] Stone XOR
题目描述
有编号为袋 $1$, 袋 $2$, $\ldots$, 袋 $N$ 的 $N$ 个袋子。
袋 $i$ $(1 \leq i \leq N)$ 中包含 $A_i$ 个石子。
高桥君可以重复以下操作任意次数(包括 $0$ 次):
> 选择两个袋 A 和 B,将袋 A 中的 **所有** 石子转移到袋 B 中。
请计算操作结束后,以下值可能的不同取值数量:
- 设袋 $i$ 中的石子数量为 $B_i$,计算 $B_1 \oplus B_2 \oplus \cdots \oplus B_N$ 的值。
其中 $\oplus$ 表示异或。
异或的定义如下:对于非负整数 $a, b$,$a \oplus b$ 的二进制的 $2^k$ 位($k \geq 0$)为 $1$ 当且仅当 $a$ 和 $b$ 的二进制表示中该位恰好有一个为 $1$,否则为 $0$。
例如,$3 \oplus 5 = 6$(二进制表示为 $011 \oplus 101 = 110$)。
一般地,$k$ 个非负整数 $x_1, x_2, \ldots, x_k$ 的异或 $x_1 \oplus x_2 \oplus \cdots \oplus x_k$ 定义为 $(\cdots((x_1 \oplus x_2) \oplus x_3) \oplus \cdots \oplus x_k)$,且与运算顺序无关(已证明)。注意:在本题约束下,操作结束后可能的不同异或值数量是有限的(已证明)。
输入格式
输入从标准输入给出,格式如下:
> $N$ $A_1$ $A_2$ $\ldots$ $A_N$
输出格式
输出操作结束后可能的异或值数量。
说明/提示
### 约束条件
- $2 \leq N \leq 12$
- $1 \leq A_i \leq 10^{17}$
- 输入均为整数
### 样例解释 1
例如,若高桥君选择袋 $1$ 和袋 $3$ 进行操作,则袋 $1, 2, 3$ 中的石子数量分别变为 $0, 5, 9$。此时异或值为 $0 \oplus 5 \oplus 9 = 12$。其他可能的异或值包括 $0$ 和 $14$。因此共有 $3$ 种可能值,输出 $3$。
翻译由 DeepSeek R1 完成