#include<iostream>
using namespace std;
const int N=1e5+10,M=3100010;//一个字符最多需要31位
int a[N],son[M][2],idx;
void insert(int x){
int p=0;
for(int i=30;i>=0;i--){
int &s=son[p][x>>i&1];
if(!s)s=++idx;
p=s;
}
}
int query(int x){
int p=0,res=0;
for(int i=30;i>=0;i--){
int s=x>>i&1;
if(son[p][!s]){
res+=1<<i;
p=son[p][!s];
}
else p=son[p][s];
}
return res;
}
int main(){
int n;
cin>>n;
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
insert(a[i]);
}
int res=0;
for(int i=0;i<n;i++){
res=max(query(a[i]),res);
}
cout<<res<<endl;
return 0;
}