#include <cstdio>
#include <algorithm>
#include <vector>
using namespace std;
typedef long long ll;
typedef vector<ll> vll;

bool comp(int i, int j)
{
	return i>j;
}

int main()
{
    int N;
    scanf("%d",&N);
    vll dt; 
    for (int q=0;q<N;++q) 
    {
        ll x;
        scanf("%lld",&x); 
        dt.push_back(x);
    }
    //sort( dt.rbegin(), dt.rend() );
    sort(dt.begin(), dt.end(), comp);
    ll sig = 1;
    while (sig <= dt[0]) 
		sig<<=1; 
	sig>>=1;
    for (int st = 0;sig>=1;sig>>=1)
    {
        int i = st;
        while (i<N && (dt[i]&sig)==0) 
			i++;
        if (i>=N) 
			continue;
        swap( dt[st], dt[i] );
        for (int j=0;j<N;++j) 
			if (j!=st && (dt[j]&sig)!=0)
            	dt[j] ^= dt[st];
        st++;
    }
    ll ret = 0;
    for (int q=0;q<N;++q) 
		ret ^= dt[q];
    printf("%lld\n",ret);
    return 0;
}



