#6566. 能量机器人

能量机器人

Background

Special for beginners, ^_^

Description

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

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

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

请你帮帮他!

Format

Input

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

每个测试用例占两行:

  • 第一行包含一个整数 ​N​,表示能量电池的数量。
  • 第二行包含 N 个整数 A1​​,A2​​,​…​,AN​​​,表示每个能量机器人的能量值。

Output

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

Samples

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

Limitation

  • 对于 30% 的评测用例,​1​≤​T​≤​10​,​2​≤​N​≤​100​,​1​≤Ai​​≤​1000​。
  • 对于 100% 的评测用例,​1​≤​T​≤1000​,​2​≤​N​≤​1000​,​1​≤Ai​​​≤​100000​。