#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define int ll
const int N=67;
struct xxj{
bool flag=false;
int p[N],ans[N];
inline void insert(int x){
for(int i=N;~i;i--){
if((x>>i)&1ll){
if(!p[i]){p[i]=x;return;}
else x^=p[i];
}
}
flag=true;
}
inline bool check(int x){
for(int i=N;~i;i--){
if((x>>i)&1ll){
if(!p[i])return false;
else x^=p[i];
}
}
return true;
}
inline int xor_min(){
if(flag)return 0;
for(int i=0;i<=N;i++){
if(p[i])return p[i];
}
}
inline int xor_max(){
int res=0;
for(int i=N;~i;i--)res=max(res,res^p[i]);
return res;
}
}a;
int n;
signed main(){
cin>>n;
for(int i=1;i<=n;i++){
int x;cin>>x;
a.insert(x);
}
cout<<a.xor_max()<<"\n";
}
位运算打了括号,没爆int