#NC2502B. 位完美

位完美

题目描述

军蚁正在为一场残酷的战争做准备,但事情变得比他们想象的更复杂。

队伍中有 n n 只军蚁。最初,每只军蚁 i (1in) i \ (1 \leq i \leq n) 的力量为 ai a_i

然而,在战争期间会发生一些奇怪的事情:一股神秘力量会随机选择一个二元组 (i,j) (1i<jn)(i,j) \ (1 \leq i < j \leq n),而选择后,蚂蚁 i i 和蚂蚁 j j 会消失,并且一只新蚂蚁会替代它们神奇地出现,其力量为 aiaj a_i \oplus a_j ,即 ai a_i aj a_j 的按位异或(XOR)。

这种情况非常罕见,在整个战争中最多只会发生一次。

蚂蚁们认为整个队伍的总力量为 i=1n2ai\sum_{i=1}^{n} 2^{a_i},如果那件"奇怪的事"永远不会减少军队的整体力量,则这个军队被认为是 位完美 的。

由于忙于练兵,蚂蚁们没有足够的时间来检查队伍是否位完美。你能帮帮他们吗?可能会有 T T 支不同的军队。

输入格式

每组测试包含多个测试用例。第一行包含测试用例的数量 T (1T105) T \ (1 \leq T \leq 10^5)

每个测试用例由两行组成。

第一行包含一个整数 n (2n5×105) n \ (2 \leq n \leq 5 \times 10^5) ,表示队伍中蚂蚁的数量。

第二行包含 n n 个整数 $a_1, a_2, \ldots, a_n \ (1 \leq a_i \leq 10^{18})$,表示每只蚂蚁的力量。

保证在单组测试中,n\sum n 不会超过 5×105 5 \times 10^5

输出格式

对于每个测试用例,如果该军队是 位完美 的,则输出 YES,否则输出 NO

3
2
3 5
4
1 2 4 8
3
1 2 3
YES
YES
NO

解释 #1

在第一个测试用例中,如果两只蚂蚁合并,由于 35=6 3 \oplus 5 = 6 ,整个队伍的总力量从 23+25=40 2^3 + 2^5 = 40 变为 26=64 2^6 = 64 ,因此该事件不会减少总力量。所以该队伍是 位运算完美