#include<bits/stdc++.h>
using namespace std;
const int N = 100010;
int son[N][5];
int cnt[N] , idx;
void insert(int x)
{
int p = 0;
for(int i = 31 ; i >= 0 ; i --)
{
int u = (x >> i) & 1;
if(!son[p][u]) son[p][u] = ++ idx;
p = son[p][u];
}
cnt[p] ++;
}
int found(int x)
{
int p = 0 , res = 0 , tmp = 1;
for(int i = 31 ; i >= 0 ; i -- )
{
int u = (x >> i) & 1;
if(son[p][1 ^ u]) res = res ^ (1 << i) , p = son[p][1 ^ u];
else p = son[p][u];
}
return res;
}
int n , a[N];
int main()
{
ios::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
cin >> n;
for(int i = 1;i<= n;i ++) cin >> a[i] , insert(a[i]);
int maxn = -1e9 ;
// for(int i = 1 ;i<= n ; i ++) cout << found(a[i]) << endl;
for(int i = 1;i<= n ; i ++) maxn = max(maxn , found(a[i]));
cout << maxn ;
return 0;
}