#include<bits/stdc++.h>
using namespace std;
long long cnt,n,a[1000005],sum,p,t,no,ans;
char c[1000005];
struct d{
long long s[2];
}nd[1000005];
void in(long long num){
no=0;
for(int i=31;i>=0;--i){
t=(num>>i)&1;
if(!nd[no].s[t])nd[no].s[t]=++cnt;
no=nd[no].s[t];
}
return;
}
long long fd(long long num){
ans=no=0;
for(int i=31;i>=0;--i){
t=(num>>i)&1;
if(!nd[no].s[t^1]){
no=nd[no].s[t];
}
else{
no=nd[no].s[t^1];
ans=ans^(1<<i);
}
}
return ans;
}
int main(){
cin.tie(0),ios::sync_with_stdio(0);
cin>>n;
for(int i=1;i<=n;++i){
cin>>a[i];
in(a[i]);
}
for(int i=1;i<=n;++i){
sum=max(sum,fd(a[i]));
}
cout<<sum;
return 0;
}