#include #include #include #include #include #include #include #include using namespace std; #define GET_ARG(a,b,c,F,...) F #define REP3(i,s,e) for (i = s; i <= e; i++) #define REP2(i,n) REP3 (i,0,(int)(n)-1) #define REP(...) GET_ARG (__VA_ARGS__,REP3,REP2) (__VA_ARGS__) #define RREP3(i,s,e) for (i = s; i >= e; i--) #define RREP2(i,n) RREP3 (i,(int)(n)-1,0) #define RREP(...) GET_ARG (__VA_ARGS__,RREP3,RREP2) (__VA_ARGS__) #define DEBUG(x) cerr << #x ": " << x << endl typedef long long ll; constexpr int INF = 1e8; constexpr int MOD = 1e9+7; constexpr int ESP = 1e-9; constexpr double PI = acos(-1); int main(void) { int i, j, n; int a[100]; cin >> n; REP (i,n) cin >> a[i]; vector> ans; REP (i,n) RREP (j,n-1,i+1) if (a[j-1] > a[j]) { swap(a[j-1],a[j]); ans.emplace_back(j-1,j); } cout << ans.size() << endl; for (auto p: ans) { cout << p.first << " " << p.second << endl; } string dummy; cin >> dummy; return 0; }