#include<iostream>
#include<vector>
#include<algorithm>
#include<cstring>
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 <int> 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<<ans<<"\n";
}
int main()
{
	int t;
	cin>>t;
	for(int i=1;i<=t;i++)
	{
		memset(ch,0,sizeof ch);
		solve();
	}
 } 
