#include<bits/stdc++.h>
using namespace std;
int n[1005],win[1005],lost,m[1005];
int main(){
int a=1,b,k;
cin >> b;
for(int i=0;i<b;i++){
a*=2;
}
for(int i=1;i<=a;i++){
cin >> n[i];
win[i]=i;
}
k=a;
for(int j=0;j<=b;j++){
for(int i=1;i<=k;i+=2){
if(n[win[i]]>n[win[i+1]]){
win[i]=i;
lost=i+1;
}
else{
win[i]=i+1;
lost=i;
}
cout<<win[i]<<" "<<lost<<" "<<endl;
cout<<n[win[i]]<<" "<<n[lost]<<" "<<endl;
}
cout<<endl;
k/=2;
}
cout << lost;
}
求解