U139384 异或和

题目描述

给定一个大小为 $n$ 的可重集 $S$,你需要选出一个 $S$ 的子集 $T$,使得 $T$ 中所有元素的异或和为 $0$,输出 $|T|$ 的最大值。

输入格式

**本题输入数据量较大,请使用高效的读入方式** 第一行一个整数 $n$,表示可重集 $S$ 的大小。 第二行 $n$ 个整数 $S_1,S_2,\dots,S_n$,表示 $S$ 中的所有元素。

输出格式

输出一行一个整数,表示 $|T|$ 的最大值。

说明/提示

- 对于 $10\%$ 的数据,$n\leqslant2^{4}$。 - 对于 $30\%$ 的数据,$n\leqslant2^{10}$。 - 对于 $70\%$ 的数据,$n\leqslant2^{17}$。 - 对于 $100\%$ 的数据,$1\leqslant n\leqslant2^{21}$,$0\leqslant S_1,S_2,\dots,S_n< n$