#include<iostream>
#include<algorithm>
using namespace std;
const int SIZE = 200000;
int a[SIZE];
int main() {
int N;
cin >> N;
for(int i = 0; i < N; i++) cin >> a[i];
for(int i = 0; (1 << i) < N; i++) {
int len = 1 << i;
for(int j = 0; j + len < N; j += len * 2) {
cout << j << " " << j + len << endl;
inplace_merge(a + j, a + j + len, a + min(N, j + len * 2));
}
}
for(int i = 0; i < N; i++) cout << a[i] << (i + 1 < N ? ' ' : '\n');
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPGFsZ29yaXRobT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY29uc3QgaW50IFNJWkUgPSAyMDAwMDA7CmludCBhW1NJWkVdOwppbnQgbWFpbigpIHsKICAgIGludCBOOwogICAgY2luID4+IE47CiAgICBmb3IoaW50IGkgPSAwOyBpIDwgTjsgaSsrKSBjaW4gPj4gYVtpXTsKICAgIGZvcihpbnQgaSA9IDA7ICgxIDw8IGkpIDwgTjsgaSsrKSB7CiAgICAgICAgaW50IGxlbiA9IDEgPDwgaTsKICAgICAgICBmb3IoaW50IGogPSAwOyBqICsgbGVuIDwgTjsgaiArPSBsZW4gKiAyKSB7CiAgICAgICAgCWNvdXQgPDwgaiA8PCAiICIgPDwgaiArIGxlbiA8PCBlbmRsOyAKICAgICAgICAgICAgaW5wbGFjZV9tZXJnZShhICsgaiwgYSArIGogKyBsZW4sIGEgKyBtaW4oTiwgaiArIGxlbiAqIDIpKTsKICAgICAgICB9CiAgICB9CiAgICBmb3IoaW50IGkgPSAwOyBpIDwgTjsgaSsrKSBjb3V0IDw8IGFbaV0gPDwgKGkgKyAxIDwgTiA/ICcgJyA6ICdcbicpOwp9