#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
int n;
int a[200050];
int is[200050][3];
int main(){
cin >> n;
for(int i=1;i<=n;i++){
cin >> a[i];
}
int pos=0;
for(int i=1;i<=n;i++){
while(a[i]!=i){
pos++;
is[pos][1]=min(a[i],i);
is[pos][2]=max(a[i],i);
swap(a[i],a[a[i]]);
}
}
cout << pos << '\n';
for(int i=1;i<=pos;i++){
cout << is[i][1] << ' ' << is[i][2] << '\n';
}
return 0;
}