#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;
		}
	}
}