#include<bits/stdc++.h>
using namespace std;
int n;
struct point {
int num;
int data;
}v[999];
vector<point>a[500];
signed main()
{
cin>>n;
for(int i=1;i<=int (1<<n);i++)
{
cin>>v[i].data;
v[i].num=i;
if(i%2==0)
{
a[1].push_back((v[i].data>v[i-1].data?v[i]:v[i-1]));
}
}
int k=1;
while(a[k].size()!=1)
{
k++;
for(int i=1;i<a[k-1].size();i+=2)
{
a[k].push_back((a[k-1][i].data>a[k-1][i-1].data?a[k-1][i]:a[k-1][i-1]));
}
}
cout<<(a[k-1][0].data>a[k-1][1].data?a[k-1][1].num:a[k-1][0].num);
}