#include #include using namespace std; using ull = unsigned long long; int main() { ull n; cin >> n; vector sumofbits(64); for (ull i = 0; i < n; ++i) { ull a; cin >> a; bitset<64> b(a); for (int i = 0; i < 64; ++i) { if (b[i] == 1) { sumofbits[i]++; } } } bitset<64> out(0); ull carry = 0; for (int i = 0; i < 64; ++i) { ull bits = sumofbits[i] + carry; if (bits> 0) { out[i] = 1; } carry = bits / 2; } cout << out.to_ullong() << endl; return 0; }