// /*
//  * @Author: LetMeFly
//  * @Date: 2021-04-21 21:49:14
//  * @LastEditors: LetMeFly
//  * @LastEditTime: 2021-04-21 22:36:47
//  */
// #include <bits/stdc++.h>
// using namespace std;
// #define mem(a) memset(a, 0, sizeof(a))
// #define dbg(x) cout << #x << " = " << x << endl
// #define fi(i, l, r) for (int i = l; i < r; i++)
// #define cd(a) scanf("%d", &a)
// typedef long long ll;
// /*
// 0 0 0
// 1 0 1
// 0 1 1
// 1 1 0
// */
// int a[2020];
// int main()
// {
//     int N;
//     cin>>N;
//     while(N--)
//     {
//         int n;
//         cin>>n;
//         if(n==2)
//         {
//             int a,b;
//             cin>>a>>b;
//             puts(a==b?"YES":"NO");
//             continue;
//         }
//         int finally=0;
//         fi(i,0,n)
//         {
//             cd(a[i]);
//             finally^=a[i];
//         }
//         if(finally==0)
//         {
//             puts("YES");
//         }
//         else
//         {
//             for(int to=0;to<n-2;to++)
//             {
//                 int res=0;
//                 fi(i,0,to)
//                 {
//                     res^=a[i];
//                 }
//                 bool ky=0;
//                 int res2=0;
//                 int i;
//                 for(i=to+1;i<n;i++)
//                 {
//                     res2^=a[i];
//                     if(res2==res)
//                     {
//                         ky=1;
//                         break;
//                     }
//                 }
                
//                 if(ky)
//                 {
//                     int res3=0;
//                     for(int j=i+1;j<n;j++)
//                     {
//                         res3^=a[j];
//                     }
//                     if(res3==res)
//                     {
//                         puts("YES");
//                         goto loop;
//                     }
//                 }
//             }
//             puts("NO");
//         }
//         loop:;
//     }
//     return 0;
// }


#include <bits/stdc++.h>
using namespace std;
#define mem(a) memset(a, 0, sizeof(a))
#define dbg(x) cout << #x << " = " << x << endl
#define fi(i, l, r) for (int i = l; i < r; i++)
#define cd(a) scanf("%d", &a)
typedef long long ll;
int a[2020];
void solve()
{
    int n;
    cin>>n;
    int res=0;
    fi(i,0,n)
    {
        cd(a[i]);
        res^=a[i];
    }
    if(res==0)
    {
        puts("YES");
        return;
    }
    int s=0;
    int loc=0;
    for(loc=0;loc<n;loc++)
    {
        s^=a[loc];
        if(s==res)break;
    }
    if(loc>=n-2)
    {
        puts("NO");
        return;
    }
    loc++;
    s=0;
    for(;loc<n-1;loc++)
    {
        s^=a[loc];
        if(s==res)break;
    }
    if(s!=res)
    {
        puts("NO");
        return;
    }
    loc++;
    s=0;
    for(;loc<n;loc++)
    {
        s^=a[loc];
    }
    if(s==res)
    {
        puts("YES");
    }
    else
    {
        puts("NO");
    }
    return;    
}
int main()
{
    int N;
    cin>>N;
    while(N--)
    {
        solve();
    }
    return 0;
}