题号:NC309232
时间限制:C/C++/Rust/Pascal 3秒,其他语言6秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld
题目描述
能量值的异或和计算方法如下:对于一个集合

,其异或和等于集合中所有元素的按位异或结果。例如,集合

的异或和为

,其中

表示异或运算。
现在,小蓝想知道,这

个能量电池能否分成两组,使得这两组能量电池的能量值异或和相等。注意,每组至少包含一个能量电池。
请你帮帮他!
输入描述:
输入的第一行包含一个整数
,表示测试用例的数量。
每个测试用例占两行:
- 第一行包含一个整数
,表示能量电池的数量。
- 第二行包含
个整数
,表示每个能量电池的能量值。
输出描述:
对于每个测试用例,输出一行。如果可以将能量电池分成两组,使得这两组能量电池的能量值异或和相等,则输出 `YES`;否则,输出 `NO`。
备注:
**评测用例规模与约定**
- 对于 30% 的评测用例,
。
- 对于 100% 的评测用例,
。