#include <iostream>
#include <vector>
#include <cmath>
#include <algorithm>
using namespace std;
int mx=0;
int main()
{
//vr1 + vr2 - floor(log2 (r2 - r1)).

int n;
cin>>n;
vector <int64_t> x(n),ind(n);
for(int i=0;i<n;i++)
    cin>>x[i];
/*int s=0;
do
{
    s=1;
    for(int i=0;i<n-1;i++)
        if(x[i]>x[i+1])
    {

        swap(x[i],x[i+1]);
        swap(ind[i],ind[i+1]);
        s=0;
    }
}while(!s);*/
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
   if(i!=j)
    mx=std::max(mx,(int)(x[i-1]+x[j-1]-floor(log2(abs(j-i)))));
cout<<mx;
}