#include <bits/stdc++.h>
using namespace std;
struct data {
  int num, id;
} p[1050];
int n, len;
pair<int, int> ans[1050 * 1050];
int cmp(data a, data b) {
  if (a.num == b.num) return a.id < b.id;
  return a.num < b.num;
}
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) {
    scanf("%d", &p[i].num);
    p[i].id = i;
  }
  sort(p + 1, p + n + 1, cmp);
  for (int i = 1; i <= n; i++) {
    for (int j = n - i + 1; j < n; j++) {
      if (p[j].id > p[j + 1].id)
        swap(p[j], p[j + 1]), ans[++len] = make_pair(p[j].id, p[j + 1].id);
    }
  }
  printf("%d\n", len);
  for (int i = 1; i <= len; i++) {
    printf("%d %d\n", ans[i].first, ans[i].second);
  }
}
