![]()
#include <bits/stdc++.h>
using namespace std;
const int N = 100010, M = 3000300;
int son[M][2], a[N], idx;
int n;
void insert(int x) {
int p = 0;
for(int i = 30; ~i; i--) {
int &s = son[p][(x >> i) & 1];
if(!s) s = ++idx;
p = s;
}
}
int query(int x) {
int res = 0, p = 0;
for(int i = 30; ~i; i--) {
int j = (x >> i) & 1;
if(son[p][!j]) {
res += 1 << i;
p = son[p][!j];
} else p = son[p][j];
}
return res;
}
int main() {
cin >> n;
for(int i = 0; i < n; i++) cin >> a[i];
for(int i = 0; i < n; i++) insert(a[i]);
int res = 0;
for(int i = 0; i < n; i++) {
res = max(res,query(a[i]));
}
cout << res << endl;
return 0;
}