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