#include using namespace std; typedef long long ll; template ostream& operator<< (ostream& os, const vector & v) { os << "[ "; for (const T & elem : v) { os < elem << " "; } os << " ]"; return os; } void test_case() { ll n; cin >> n; vector a(n); for (ll i = 0; i < n; ++i) cin >> a[i]; vector one_bits(70, 0); for (ll i = 0; i < n; ++i) { ll curr = a[i]; ll curr_bit = 0; while (curr) { one_bits[curr_bit] += curr % 2; curr /= 2; curr_bit++; } } // for (auto x : one_bits) // cout << x << " "; // cout << endl << endl; for (ll i = 0; i < 69; ++i) { one_bits[i + 1] += one_bits[i] / 2; } // for (auto x : one_bits) // cout << x << " "; // cout << endl; ll result = 0; ll curr_pow_2 = 1; for (ll i = 0; i < 70; ++i) { if (one_bits[i]) { result += curr_pow_2; } curr_pow_2 *= 2; } cout << result << endl; } int main() { cin.tie(0); cout.tie(0); cin.exceptions(ios::failbit); ios::sync_with_stdio(false); ll t = 1; //cin >> t; // potential comment while (t--) { test_case(); } return 0; }