#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=1e5+100,D=31;
int n,ch[N*30][2],cnt=1;
void insert(int x){
int u=1;
for(int j=D;j>=0;j--){
int k=0;
if(x&(1<<j)) k=1;
if(ch[u][k]==0) ch[u][k]=++cnt;
u=ch[u][k];
}
}
int query(int x){
int u=1,res=0;
for(int j=D;j>=0;j--){
int k=0;
if(x&(1<<j)) k=1;
if(ch[u][k^1]) u=ch[u][k^1],res+=(1<<j);
else u=ch[u][k];
}
return res;
}
signed main(){
cin>>n;
int ans=0;
for(int i=1,x;i<=n;i++){
cin>>x;
ans=max(x,query(x)),insert(x);
}
cout<<ans;
}