func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long MOD = 1e9 + 7;   int main() {     int n;     cin >> n;     vector<int> a(n);     for (int i = 0; i < n; i++) {       cin >> a[i];     }     map<vector<int>, int> S;     for (int bit = 0; bit < (1 << 15); bit++) {       vector<int> b(n);       for (int i = 0; i < n; i++) {         int c = a[i] ^ bit;         for (int j = 0; j < 15; j++) {           if (c & (1 << j)) b[i]++;         }       }       vector<int> vec(n - 1);       for (int i = 1; i < n; i++) {         vec[i - 1] = b[i] - b[0];       }       S[vec] = bit;     }     for (int bit = 0; bit < (1 << 15); bit++) {       vector<int> b(n);       for (int i = 0; i < n; i++) {         int c = a[i] ^ (bit << 15);         for (int j = 15; j < 30; j++) {           if (c & (1 << j)) b[i]++;         }       }       vector<int> vec(n - 1);       for (int i = 1; i < n; i++) {         vec[i - 1] = b[0] - b[i];       }       if (S.find(vec) != S.end()) {         cout << (bit << 15) + S[vec] << endl;         return 0;       }     }     cout << -1 << endl;   }   