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 完成