#include<bits/stdc++.h>
using namespace std;
inline int lc(int x){
return x<<1;
}
inline int rc(int x){
return (x<<1)|1;
}
int T[10000]={0};
int n,cnt=1;
void updata(int n,int lm)
{
if(!T[lc(n)]&&lc(n)<=lm)
updata(lc(n),lm);
if(!T[rc(n)]&&rc(n)<=lm)
updata(rc(n),lm);
if(n<pow(2,n))
T[n]=max(T[lc(n)],T[rc(n)]);
}
int main()
{
scanf("%d",&n);
int arr[n+5];
int d=pow(2,n);
for(int i=d;i<d+pow(2,n);i++)
{
scanf("%d",&T[i]);
arr[cnt++]=T[i];
}
updata(1,pow(2,n+1)-1);
int temp=min(T[2],T[3]);
for(int i=1;i<=n;i++)
{
if(arr[i]==temp)
{
printf("%d",i);
return 0;
}
}
}