1516_B. AGAGA XOOORRR
Baby Ehab is known for his love for a certain operation. He has an array a of length n, and he decided to keep doing the following operation on it: 

  * he picks 2 adjacent elements; he then removes them and places a single integer in their place: their [bitwise XOR](https://en.wikipedia.org/wiki/Bitwise_operation#XOR). Note that the length of the array decreases by one. 



Now he asks you if he can make all elements of the array equal. Since babies like to make your life harder, he requires that you leave at least 2 elements remaining.

Input

The first line contains an integer t (1 ≤ t ≤ 15) — the number of test cases you need to solve.

The first line of each test case contains an integers n (2 ≤ n ≤ 2000) — the number of elements in the array a.

The second line contains n space-separated integers a_1, a_2, …, a_{n} (0 ≤ a_i < 2^{30}) — the elements of the array a.

Output

If Baby Ehab can make all elements equal while leaving at least 2 elements standing, print "YES". Otherwise, print "NO".

Example

Input


2
3
0 2 2
4
2 3 1 10


Output


YES
NO

Note

In the first sample, he can remove the first 2 elements, 0 and 2, and replace them by 0 ⊕ 2=2. The array will be [2,2], so all the elements are equal.

In the second sample, there's no way to make all the elements equal.
```python
for i in range(int(input())):
    n = int(input())
    a = list(map(int, input().split()))
    r = 0
    for j in range(len(a)):
        r ^= a[j]
    if not r:
        print("Yes")
    else:

        t = 0
        i = 0
        s = 0

        while i < len(a) and t < 2:
            s ^= a[i]
            if s == r:
                t += 1
                s = 0
            i += 1

        if t == 2:
            print("Yes")
        else:
            print("No")
```