#include<bits/stdc++.h>
using namespace std;
struct jiegouti{
int power,id;
};
jiegouti maxt(jiegouti a,jiegouti b){
return a.power>b.power?a:b;
}
jiegouti mint(jiegouti a,jiegouti b){
return a.power<b.power?a:b;
}
jiegouti a[150],tree[600];
void build(int node,int start,int end){
if(start==end){
tree[node]=a[start];
return;
}
int lnode=node*2;
int rnode=node*2+1;
int mid=(start+end)/2;
build(lnode,start,mid);
build(rnode,mid+1,end);
tree[node]=maxt(tree[lnode],tree[rnode]);
}
int main(){
int n;
cin>>n;
for(int i=1;i<=(1<<n);i++){
cin>>a[i].power;
a[i].id=i;
}
build(1,1,(1<<n));
cout<<mint(tree[2],tree[3]).id;
return 0;
}