/* n对石头,两个人轮流去,每次取走的石头不超过本堆石头的一半 第一感觉,好似和Nim游戏有相似之处,但是不同 把其中的一堆拿出来找规律 (注释部分) */ #include<stdio.h> #include<string.h> const int maxn=100; int vis[maxn]; int SG[maxn]; long long f(long long x) { return x%2==0?x/2:f(x/2); } int main() { /*SG[1]=0; for(int i=2;i<=27;i++) printf("%2d ",i); printf("\n"); for(int i=2;i<=27;i++) { SG[i]=0; memset(vis,0,sizeof(vis)); for(int j=1;j*2<=i;j++) vis[SG[i-j]]=1; for(int j=0;;j++) { if(!vis[j]) { SG[i]=j; break; } } printf("%2d ",SG[i]); } for(;;);*/ int t; long long n; scanf("%d",&t); while(t--) { scanf("%lld",&n); long long x,sum=0; for(long long i=1;i<=n;i++) { scanf("%lld",&x); sum^=f(x); } if(sum) printf("YES\n"); else printf("NO\n"); } return 0; }