
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
const int N =1e5 + 9;
int a[N], n;
int main()
{
cin >> n;
for(int i = 1; i <= n; i ++) scanf("%d", &a[i]);
int depth = 0 ;
ll res = -1e18;
for(int i = 1 , d = 1; i <= n; i *= 2, d ++ ) // 遍历层数
{ // i 总是指向每一层的起点
ll s = 0 ;
// 先将j赋值为i
// 层数 1 2 3 4
// 包含的数 1 2 4 8
//取小于号是因为层数当前位置也是属于当前层,需要减去不能取1
for(int j = i; j < i + (1 << d - 1) && j <= n ; j ++) // j 用来遍历每一层
s += a[j];
if(s >= res)
{
res = s;
depth = d;
}
}
cout<< depth << endl;
return 0;
}