#include <sstream> //string stream 便利! #include<string> #include<iostream> #include<utility> //pair #include <vector> // 可変長配列 #include <algorithm> // swap,sort,binary_search #include <functional> // 昇順sortに使う greaterが入ってる。 sortの三番目の引数。 #include <map> //map #include<set> //set #include<queue> //キュー #include<list> //list #include<cmath> #include<cassert> #include <numeric> #include<tuple> #include<iomanip> typedef long long ll; #define ARRAY_LENGTH(array) (sizeof(array) / sizeof(array[0])) using namespace std; void omajinai() { cin.tie(0); ios::sync_with_stdio(false); } map<char,char> m; int main(){ vector<pair<int,int>> v; int n; cin>>n; vector<int> a(n); for(int i =0 ; i<n;i++) cin>>a[i]; for(int i = 0; i<n;i++){ vector<int>::iterator x = max_element(a.begin()+i, a.end()); long dif = distance(a.begin() + i,x); if(dif != 0){ v.push_back(make_pair(i,i+dif)); swap(*x,*(a.begin() + i));} } cout<<v.size()<<endl; for(pair<int,int> p: v){ cout<<p.first<<" "<<p.second<<endl; } cout.flush(); cin.ignore(); }