#include #include #include #include int ch[25*600005][2],idx; using namespace std; void insert(int &x) { int p=0; for(int i=8;i>=0;i--) { int j=x >> i & 1; if(!ch[p][j])ch[p][j]=++idx; p=ch[p][j]; } } int query(int x) { int p=0,res=0; for(int i=8;i>=0;i--) { int j=x >> i & 1; if(ch[p][!j]){ res+= 1 << i; p=ch[p][!j]; } else p=ch[p][j]; } return res; } void solve(){ int n,res1; cin>>n; vector preres(n,0); for(int i=0;i<=n-1;i++) { if(i==0)cin>>res1; else { int x; cin>>x; res1 ^= x; } preres[i]=res1; } for_each(preres.begin(),preres.end(),insert); int ans=0; for(int i=0;i<=n-1;i++) { ans=max(ans,query(preres[i])); ans=max(ans,preres[i]); } cout<>t; for(int i=1;i<=t;i++) { memset(ch,0,sizeof ch); solve(); } }