#include<bits/stdc++.h>
using namespace std;
#define MAXNUM 200
typedef struct
{
int Power;
int Id;
} Country;
Country Att[MAXNUM];
int main()
{
int n, N, Num;
cin >> n;
N = pow(2, n);
int N_1 = N; // 使用N_1来保存原始的国家数
int Power_1[MAXNUM] = {0};
// 输入国家的能力值和初始化ID
for (int i = 0; i < N; i++)
{
cin >> Att[i].Power;
Power_1[i] = Att[i].Power;
Att[i].Id = i + 1; // ID从1开始
}
// 淘汰赛过程
int num = 0; // 用来计数剩余国家的能力值在新数组中的索引
for (int i = 0; i < n; i++)
{
int newNum = 0; // 对于每轮淘汰,重新初始化num为记录新数组的索引
for (int k = 0; k < N; k += 2)
{
if (k + 1 < N) // 确保不越界
{
if (Power_1[k] > Power_1[k + 1])
{
Power_1[newNum++] = Power_1[k];
}
else
{
Power_1[newNum++] = Power_1[k + 1];
}
}
}
N /= 2;
num = 0;
// 如果只剩两个国家,找到亚军的能力值
if (N == 2)
{
if (Power_1[0] < Power_1[1])
Num = Power_1[0]; // 亚军是能力值较小的那个
else
Num = Power_1[1];
break;
}
}
// 找到亚军的国家ID并输出
for (int i = 0; i < N_1; i++)
{
if (Att[i].Power == Num)
{
cout << Att[i].Id << endl; // 直接输出ID,因为已经从1开始编号
break; // 找到后退出循环
}
}
return 0;
}