#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];
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";
// 올바른 교환 순서: 왼쪽에서 오른쪽으로
for (int i = 1; i <= n-1; i++) {
for (int j = i+1; j <= n; j++) {
cout << i << " " << j << "\n";
}
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUobnVsbHB0cik7CgogICAgaW50IG47CiAgICBjaW4gPj4gbjsKICAgIHZlY3RvcjxpbnQ+IFAobik7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgY2luID4+IFBbaV07CgogICAgbG9uZyBsb25nIGludiA9IDA7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgIGZvciAoaW50IGogPSBpKzE7IGogPCBuOyBqKyspIHsKICAgICAgICAgICAgaWYgKFBbaV0gPiBQW2pdKSBpbnYrKzsKICAgICAgICB9CiAgICB9CgogICAgbG9uZyBsb25nIHRvdGFsID0gMUxMICogbiAqIChuLTEpIC8gMjsKCiAgICBpZiAoKGludiAlIDIpICE9ICh0b3RhbCAlIDIpKSB7CiAgICAgICAgY291dCA8PCAwIDw8ICJcbiI7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9CgogICAgY291dCA8PCAxIDw8ICJcbiI7CiAgICAvLyDsmKzrsJTrpbgg6rWQ7ZmYIOyInOyEnDog7Jm87Kq97JeQ7IScIOyYpOuluOyqveycvOuhnAogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbi0xOyBpKyspIHsKICAgICAgICBmb3IgKGludCBqID0gaSsxOyBqIDw9IG47IGorKykgewogICAgICAgICAgICBjb3V0IDw8IGkgPDwgIiAiIDw8IGogPDwgIlxuIjsKICAgICAgICB9CiAgICB9Cn0=