#include<bits/stdc++.h>usingnamespace std;constint N =1e5+10, M = N *31;int n, a;int son[M][2], idx;//将这个数以二进制的形式插入voidinsert(int x){int p =0;for(int i =30; i >=0; i--){int u = x >> i &1;//二进制下x的第i位if(!son[p][u]) son[p][u]=++idx;
p = son[p][u];}}intquery(int x){int p =0, res =0;for(int i =30; i >=0; i--){int u = x >> i &1;if(son[p][u ^1]){//如果对立的节点存在
p = son[p][u ^1];
res = res *2+(u ^1);}else{//对立的节点不存在
p = son[p][u];
res = res *2+ u;}}return res;}intmain(){
cin >> n;int res =0;for(int i =1; i <= n; i++){
cin >> a;insert(a);
res =max(res,query(a)^ a);}
cout << res << endl;return0;}