/*
TASK:fsort
LANG:C++
*/
#include<iostream>
using namespace std;
int k[1001],n;
int fmax(int n)
{
    int i,max1=0,p=0;
    for(i=0;i<n;i++)
    if(max1<k[i]){max1=k[i];p=i;}
    return p;
}
void swapm(int n)
{
     int k1[1001],f=n,i;
     for(i=0;i<=n;i++)
                     k1[f--]=k[i];
     for(i=0;i<=n;i++)
     
                      k[i]=k1[i];
      
}               
int check()
{
    int i;
    for(i=1;i<n;i++)
    if(k[i]<k[i-1])return 0;
    return 1;
}                  
int main()
{
    int i,j;
    cin>>n;
    j=n;
    for(i=0;i<n;i++)
    cin>>k[i];
    for(i=0;i<n;i++)
    {
                      if(check())break;
                      if(fmax(n-i)!=n-i-1){
                      if(fmax(n-i)==0){cout<<j<<' ';swapm(j-1);j--;}
                      else {cout<<fmax(j-1)+1<<' '<<j<<' ';swapm(fmax(j-1));swapm(j-1);j--;}}
    }
    return 0;
}
