#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  int i, j, x, n, cnt = 0, m, flg, k;
  cin >> n;
  int in[n + 1], lala[n + 1], out[n + 1][3];
  map<int, vector<int> > pos;
  for (i = 1; i <= n; i++) {
    cin >> in[i];
    lala[i] = in[i];
    pos[in[i]].push_back(i);
  }
  sort(lala + 1, lala + 1 + n);
  for (i = 1; i <= n; i++) {
    if (in[i] != lala[i]) {
      cnt++;
      out[cnt][1] = i - 1;
      x = pos[lala[i]].size() - 1;
      out[cnt][2] = pos[lala[i]][x];
      if (in[i] != lala[out[cnt][2]]) {
        pos[in[i]].erase(pos[in[i]].begin());
        pos[in[i]].push_back(out[cnt][2]);
        sort(pos[in[i]].begin(), pos[in[i]].end());
      }
      swap(in[i], in[out[cnt][2]]);
      out[cnt][2]--;
      pos[lala[i]].erase(pos[lala[i]].begin() + x);
    }
  }
  cout << cnt << endl;
  for (i = 1; i <= cnt; i++) cout << out[i][1] << " " << out[i][2] << endl;
}
