#include <iostream>
#include <vector>
#pragma GCC optimize("Ofast")
using namespace std;

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

	int n;
	cin>>n;
    int a[n];
    for(int i=0;i<n;i++) cin >>a[i];
    vector<pair<int,int> > obm;
    for(int i=n-1;i>=0;i--)
    {
        int maxi=i;
        for(int j=i-1;j>=0;j--)
        {
            if(a[j]>a[maxi]) maxi=j;
        }
        if(maxi==i) continue;
        obm.push_back({maxi,i});
        int b[i-maxi+1];
        for(int j=maxi;j<=i;j++) b[j-maxi]=a[maxi+i-j];
        for(int j=maxi;j<=i;j++) a[j]=b[j-maxi];
    }
    cout<<obm.size()<<'\n';
    for(int i=0;i<obm.size();i++) cout<< obm[i].first+1<<' '<<obm[i].second+1<<'\n';
}
