#include <bits/stdc++.h>
using namespace std;
#define int long long   // <-----!!!!!!!!!!!!!!!!!!!

#define rep(i,n) for (int i=0;i<(n);i++)
#define rep2(i,a,b) for (int i=(a);i<(b);i++)
#define rrep(i,n) for (int i=(n)-1;i>=0;i--)
#define rrep2(i,a,b) for (int i=(b)-1;i>=(a);i--)
#define all(a) (a).begin(),(a).end()

typedef long long ll;
typedef pair<int, int> Pii;
typedef tuple<int, int, int> TUPLE;
typedef vector<int> V;
typedef vector<V> VV;
typedef vector<VV> VVV;
typedef vector<vector<int>> Graph;
const int inf = 1e9;
const int mod = 1e9 + 7;

signed main() {
    std::ios::sync_with_stdio(false);
    std::cin.tie(0);

    int n;
    cin >> n;
    V a(n);
    rep(i, n) cin >> a[i];

    int m = 0;
    vector<Pii> v;
    rep(k, n) {
        rep(i, n - 1) {
            if (a[i] > a[i + 1]) {
                v.emplace_back(i, i + 1);
                swap(a[i], a[i + 1]);
                ++m;
            }
        }
    }

    cout << m << endl;
    for (auto&& p : v) {
        cout << p.first << " " << p.second << endl;
    }

    int d;
    cin >> d;
}