#include<bits/stdc++.h>
#define fo(i,l,r) for(int i=l;i<=r;i++)
#define pb push_back
#define pp pop_back
#define mr make_pair
using namespace std;
int n,a[20][20],ans=-1;
map<int,bool>mp;
vector<pair<int,int> >v;
void dfs(int peo){
if(peo<n){
int pos=1,tmp=0,minx,kkk;
for(map<int,bool>::iterator it=mp.begin();it!=mp.end();){
if(tmp){
kkk=it->first;
v.pb(mr(minx,kkk));
mp.erase(mp.begin()),mp.erase(it++);
dfs(peo+2);
mp[minx]=mp[kkk]=1;
v.pp(),v.pp();
}
else minx=it->first;
tmp++;
}
}
else{
int tmp=a[v[0].first][v[0].second];
fo(i,1,v.size()-1)tmp^=a[v[i].first][v[i].second];
ans=max(ans,tmp);
}
}
int main(){
cin>>n,n*=2;
fo(i,1,n-1){
mp[i]=1;
fo(j,i+1,n)cin>>a[i][j];
}
mp[n]=1;
dfs(0);
cout<<ans;
return 0;
}