#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int n;
int arr[130]={};
int dp(int l,int p){
if(l==n){
return min(dp(l-1,p),dp(l-1,p+2^(l-1)));
}else if(l==0){
return arr[p];
}else{
return max(dp(l-1,p),dp(l-1,p+2^(l-1)));
}
}
int main(){
cin>>n;
for(int i=1;i<=pow(2,n);i++){
cin>>arr[i];
}
cout<<dp(n,1);
}