#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int map1[45][1005], ans, n, result[1005];
__int64 a[1005];
#define bits(x) ((1LL)<<(x))
int gauss(int sol)
{
int i,j,k,t;
for(i=0,j=0; i<41 && j<sol; i++,j++)
{
k=i;
while(!map1[k][j] && k<41)
k++;
if(k==41)
{
i--;
continue;
}
if(k!=i)
for(t = j; t <= sol; t++)
swap(map1[i][t],map1[k][t]);
for(k=i+1; k < 41; k++)
if(map1[k][j])
for(t=j; t<=sol; t++)
map1[k][t]^=map1[i][t];
}
k=i;
/*
for(i=k; i<41; i++)
if(map1[i][sol])
return -1;
*/
for(i=k-1,t=0; i >= 0; i--)
{
result[i] = map1[i][sol];
for(j=i+1; j<sol; j++)
result[i]^=(map1[i][j]&&result[j]);
if(result[i]) t++;
}
return t;
}
int main()
{
int cas, i, j, ans,n;
char c;
scanf("%d", &cas);
while (cas--)
{
scanf("%d", &n);
memset(map1, 0, sizeof (map1));
a[n] = 0LL;
for(int i =0;i<n;i++)
{
scanf("%I64d",a+i);
a[n] ^= a[i];
}
for(int i = 0;i<41;i++)
if(a[n] & bits(i))
map1[i][n] = 1;
for(int i = 0;i<n;i++)
for(int j = 0;j<41;j++)
if(a[i] & bits(j))
map1[j][i] = 1;
ans=gauss(n);
if(ans==n)
printf("No\n");
else
printf("Yes\n");
}
return 0;
}