#include<bits/stdc++.h>
int n, s; struct node { int id, t; } a[129];
int main() { std::cin >> n; s = 1 << n; for (int i = 1; i <= s; i++) { std::cin >> a[i].t; a[i].id = i; } while (s > 2) { for (int i = 1; i <= s / 2; i++) { a[i].t = std::max(a[2 * i - 1].t, a[2 * i].t); a[i].id = a[2 * i - 1].t > a[2 * i].t ? a[2 * i - 1].id : a[2 * i].id; } s /= 2; } std::cout << (a[1].t < a[2].t ? a[1].id : a[2].id) << std::endl; return 0; }