#include using namespace std; int dfs(int rem, int score, const vector& As){ if (rem == 0) return score; int record = score; for (int i = 0; i < As.size() - 1; ++i){ if ((rem & (1 << i)) == 0) continue; rem ^= (1 << i); for (int j = i + 1; j < As.size(); ++j){ if ((rem & (1 << j)) == 0) continue; record = max(record, dfs(rem ^ (1 << j), score + (As[i] ^ As[j]), As)); } break; } return record; } int main() { int N; cin >> N; vector As(N); for (auto & a : As) cin >> a; int rem = (1 << N) - 1; cout << dfs(rem, 0, As) << endl; return 0; }