#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int t[800],n;
inline int read()
{
char c=getchar();
long long x=0,f=1;
while(c<'0'||c>'9'){
if(c=='-')
f=-1;
c=getchar();
}
while(c>='0'&&c<='9'){
x=x*10+c-'0';
c=getchar();
}
return x*f;
}
int main()
{
n=read();
int point=1<<n;
for(int i=point;i<=point*2-1;i++)
t[i]=read();
for(int i=point-1;i>=1;i--)
t[i]=max(t[i*2],t[i*2+1]);
for(int i=point;i<point*2-1;i++)
if(t[i]==t[2])
{
cout<<(i+1)%point;
return 0;
}
cout<<point;
return 0;
}