#include using namespace std; using ll = long long; using ull = unsigned long long; using ld = long double; using pii = pair; using vi = vector; using vll = vector; using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); ll n, len{}; cin >> n; vi arr(50,0); for (ll it = 0; it < n; ++it) { ll i; cin >> i; ll j=0; while(i) { if(i & 1) arr[j]++; ++j; i >>= 1; len = max(len, j); } } ll sum = 0, carry = 0; for (int j = 0; j < len; ++j) { ll current = carry + arr[j]; if (current) sum += pow(2, j); if (current >= 2) carry = current - 1; } while(carry) { sum += pow(2, len++); carry = carry / 2; } cout << sum << endl; }