//©Kamil Zarzycki 2017
#include <iostream>
#include <cmath>
#include <math.h>

long double suma, temp, najwieksza, t;
int k, a;

int main()
{
    a=0;
    suma=0;
    najwieksza=0;
    std::cin >> k;

    for(long double i = 0; i < k; i++)
    {
        std::cin >> a;
        //temp=pow(2,a);
        temp=1;
        for(int i = 1; i <= a; i++)temp*=2;
        suma = suma + fmod(temp,9.97532e+300);
        t = t + floor(temp/9.97532e+300);
        //std::cout << "Temp: " << temp << std::endl;
        //std::cout << "Fmod: " << fmod(temp,20000) << std::endl;
        //std::cout << "Suma: " << suma << std::endl;
        //std::cout << "T: " << t << std::endl;
        if(najwieksza < a)najwieksza = a;
    }
    //std::cout << "Najwieksza: " << najwieksza << std::endl;
    //std::cout << "Suma: " << suma << std::endl;
    temp=1;
    for(long double i = 1; i < najwieksza; i++)temp*=2;
    //std::cout << "Temp: " << temp << std::endl;

    for( int i = najwieksza;0==0;i++)
    {
        temp*=2;
        if(temp > t*9.97532e+300+suma)
        {
            std::cout << i-1;
            break;
        }
        if(i == 201729)
        {
            std::cout << "COS SIE ZEPSULO...";
            break;
        }
    }

    return 0;
}
