研究员小蓝受到实验室主任的指示,需要对实验室新研发的 N 个新型能量 电池进行分组实验。这 N 个能量电池的能量值分别用 A1, A2, . . . , AN 表示,每个 能量值都是一个整数。为了保证实验的安全性,小蓝需要将这 N 个能量电池分 成两组,使得这两组能量电池的能量值异或和相等。
能量值的异或和计算方法如下:对于一个集合 S,其异或和等于集合中所 有元素的按位异或结果。例如,集合 {1, 2, 3} 的异或和为 1 ⊕ 2 ⊕ 3 = 0,其中 ⊕ 表示异或运算。
现在,小蓝想知道,这 N 个能量电池能否分成两组,使得这两组能量电池 的能量值异或和相等。注意,每组至少包含一个能量电池。
请你帮帮他!
输入的第一行包含一个整数 T ,表示测试用例的数量。
每个测试用例占两行:
第一行包含一个整数 N,表示能量电池的数量。
第二行包含 N 个整数 A1, A2, . . . , AN,表示每个能量电池的能量值。
对于每个测试用例,输出一行。如果可以将能量电池分成两组,使得这两 组能量电池的能量值异或和相等,则输出 “YES”;否则,输出 “NO”。
2 3 1 2 3 4 1 2 3 4
YES NO
对于 30% 的评测用例,1 ≤ T ≤ 10,2 ≤ N ≤ 100,1 ≤ Ai ≤ 103。
对于 100% 的评测用例,1 ≤ T ≤ 103,2 ≤ N ≤ 103,1 ≤ Ai ≤ 105。