#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using ll = long long; using ull = unsigned long long; const ll INF = 1e16; const ll MOD = 1e9 + 7; #define REP(i, n) for(ll i = 0; i < n; i++) int main() { ll n; cin >> n; vector a(n); REP(i, n){ cin >> a[i]; } vector dp(1 << n); REP(i, 1 << n){ ll c = 0; for(ll j = i; j > 0; j >>= 1){ if(j & 1)c++; } if(c & 1)continue; REP(j, n - 1){ if((i >> j) & 1){ for(ll k = j + 1; k < n; k++){ if((i >> k) & 1){ dp[i] = max(dp[i], dp[i ^ (1 << j) ^ (1 << k)] + (a[j] ^ a[k])); } } } } } cout << dp[(1 << n) - 1] << endl; }