#include using namespace std; int n, d[20]; long long memo[100000]; long long dfs(int a, int b){ if(a == n) return 0; if(memo[b] != -1) return memo[b]; long long ret = 0; for(int i = 0;i < n-1;i++){ for(int j = i+1;j < n;j++){ if((b & (1 << i)) == 0 && (b & (1 << j)) == 0){ ret = max(ret, dfs(a+2, b | (1 << i) | (1 << j)) + (d[i] ^ d[j])); } } } return memo[b] = ret; } int main(){ cin >> n; for(int i = 0;i < n;i++) cin >> d[i]; memset(memo,-1,sizeof(memo)); cout << dfs(0, 0) << endl; return 0; }