#include "bits/stdc++.h" #define _CRT_SECURE_NO_WARNINGS #define rep(i,n) for(int i = 0;i < n;i++) #define REP(i,n,k) for(int i = n;i < k;i++) #define P(p) cout << (p) << endl; #define sP(p) cout << setprecision(15) << fixed << p << endl; #define Pi pair #define IINF 1e9 #define LINF 1e18 #define vi vector using namespace std; typedef long long ll; typedef unsigned long long ull; int dx[] = { 1, 0,-1,0 }; int dy[] = { 0, 1,0,-1 }; bool isPrime(int n) { if (n <= 1)return false; if (n == 2)return true; if (n % 2 == 0)return false; for (int i = 3; i*i <= n; i += 2) { if (n%i == 0)return false; } return true; } void bubbleSort(vector v) { vector > ans; for (int i = 0; i < v.size() - 1; i++) { for (int j = v.size()-1; j > i; j--) { if (v[j]>v[j - 1]) { int t = v[j]; v[j] = v[j - 1]; v[j - 1] = t; ans.push_back(make_pair(j-1,j)); } } } P(ans.size()); rep(i, ans.size()) { cout << ans[i].first << " " << ans[i].second << endl; } } void solve() { int n; cin >> n; vi v; rep(i, n) { int a; cin >> a; v.push_back(a); } bubbleSort(v); cout.flush(); int dummy; cin >> dummy; } int main() { solve(); return 0; }