#include #include constexpr int BITS = 64; void get_ones(std::vector& ones){ unsigned long long num; std::cin >> num; int i = 0; while (num){ ones[i] += num & 1; num >>= 1; i++; } } int main() { int n = 0; std::cin >> n; std::vector ones(BITS + 1); for (int i = 0; i < n; i++){ get_ones(ones); } unsigned long long mask = 1; unsigned long long num = 0; bool set = false; for (int i = 0; i < BITS; i++) { set = ones[i] > 0; ones[i + 1] += ones[i] / 2; if (set) { num |= mask; } mask <<= 1; } std::cout << num << '\n'; return 0; }