#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin >> n;
vector<int> P(n);
for (int i = 0; i < n; i++) cin >> P[i];
// 역전 개수의 parity 구하기
long long inv = 0;
for (int i = 0; i < n; i++) {
for (int j = i+1; j < n; j++) {
if (P[i] > P[j]) inv++;
}
}
long long total = 1LL * n * (n-1) / 2;
if ((inv % 2) != (total % 2)) {
cout << 0 << "\n";
return 0;
}
cout << 1 << "\n";
// 교환 순서 아무거나: 예를 들어 (i,j) with i<j 사전순 출력
for (int j = 2; j <= n; j++) {
for (int i = 1; i < j; i++) {
cout << i << " " << j << "\n";
}
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUobnVsbHB0cik7CgogICAgaW50IG47CiAgICBjaW4gPj4gbjsKICAgIHZlY3RvcjxpbnQ+IFAobik7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgY2luID4+IFBbaV07CgogICAgLy8g7Jet7KCEIOqwnOyImOydmCBwYXJpdHkg6rWs7ZWY6riwCiAgICBsb25nIGxvbmcgaW52ID0gMDsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgZm9yIChpbnQgaiA9IGkrMTsgaiA8IG47IGorKykgewogICAgICAgICAgICBpZiAoUFtpXSA+IFBbal0pIGludisrOwogICAgICAgIH0KICAgIH0KCiAgICBsb25nIGxvbmcgdG90YWwgPSAxTEwgKiBuICogKG4tMSkgLyAyOwoKICAgIGlmICgoaW52ICUgMikgIT0gKHRvdGFsICUgMikpIHsKICAgICAgICBjb3V0IDw8IDAgPDwgIlxuIjsKICAgICAgICByZXR1cm4gMDsKICAgIH0KCiAgICBjb3V0IDw8IDEgPDwgIlxuIjsKICAgIC8vIOq1kO2ZmCDsiJzshJwg7JWE66y06rGw64KYOiDsmIjrpbwg65Ok7Ja0IChpLGopIHdpdGggaTxqIOyCrOyghOyInCDstpzroKUKICAgIGZvciAoaW50IGogPSAyOyBqIDw9IG47IGorKykgewogICAgICAgIGZvciAoaW50IGkgPSAxOyBpIDwgajsgaSsrKSB7CiAgICAgICAgICAgIGNvdXQgPDwgaSA8PCAiICIgPDwgaiA8PCAiXG4iOwogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gMDsKfQ==