#356. 电池分组

电池分组

题目描述

研究员小蓝受到实验室主任的指示,需要对实验室新研发的 NN 个新型能量电池进行分组实验。这 NN 个能量电池的能量值分别用 A1,A2,,ANA_1, A_2, \dots , A_N 表示,每个能量值都是一个整数。为了保证实验的安全性,小蓝需要将这 NN 个能量电池分成两组,使得这两组能量电池的能量值异或和相等。

能量值的异或和计算方法如下:对于一个集合 SS,其异或和等于集合中所有元素的按位异或结果。例如,集合 {1,2,3}\{1, 2, 3\} 的异或和为 123=01 \oplus 2 \oplus 3 = 0,其中 \oplus 表示异或运算。

现在,小蓝想知道,这 NN 个能量电池能否分成两组,使得这两组能量电池的能量值异或和相等。注意,每组至少包含一个能量电池。

请你帮帮他!

输入格式

输入的第一行包含一个整数 TT,表示测试用例的数量。

每个测试用例占两行:

  • 第一行包含一个整数 NN,表示能量电池的数量。
  • 第二行包含 NN 个整数 A1,A2,,ANA_1, A_2, \dots , A_N,表示每个能量电池的能量值。

输出格式

对于每个测试用例,输出一行。如果可以将能量电池分成两组,使得这两组能量电池的能量值异或和相等,则输出 YES;否则,输出 NO

样例

2
3
1 2 3
4
1 2 3 4
YES
NO

数据范围

  • 对于 30%30\% 的评测用例,1T101 \leq T \leq 102N1002 \leq N \leq 1001Ai1031 \leq A_i \leq 10^3
  • 对于 100%100\% 的评测用例,1T1031 \leq T \leq 10^32N1032 \leq N \leq 10^31Ai1051 \leq A_i \leq 10^5