#include using namespace std; typedef pair pii; typedef long long ll; const int N = 2000086, MOD = 998244353, INF = 0x3f3f3f3f; int n, m, w[N]; ll h[N]; int main() { cin >> n; for (int i = 1; i < n + 1; i++) scanf("%lld", h + i); sort(h + 1, h + n + 1); set > l; ll sum = 0, ans = 0; for (ll i = 1; i < (1ll << 62); i <<= 1) l.insert(i), sum += i; for (int i = 1; i < n + 1; i++) { if (sum >= h[i]) { ll t = sum; for (auto u = l.begin(); u != l.end() && h[i] > 0; ) { t -= *u; if (*u <= h[i]) { h[i] -= *u; sum -= *u; u = l.erase(u); } else if (t < h[i]) { h[i] -= *u; sum -= *u; u = l.erase(u); } else u++; } } else ans++; } if (ans) printf("%lld\n", ans + 62); else { for (ll i = (1ll << 61), t = 62; i >= 1; i >>= 1, t--) if (!l.count(i)) { printf("%d\n", t); return 0; } } return 0; }