/*
TASK:fsort
LANG:C++
*/
#include<iostream>
using namespace std;
int n,i,a[1001],j;
void s(int pom)
{
     int p;
         for(int k=1;k<=pom/2;k++)
         {
           p=a[k];
           a[k]=a[(pom+1)-k];
           a[(pom+1)-k]=p;                  
         }
    
}
/**************************************************/
void m(int j)
{
    int m=0,pos=0;
    for(int k=1;k<=j;k++)
    {
                    if(a[k]>m) {m=a[k];pos=k;} 
                    }
    if(pos!=1&&pos!=j){ cout<<pos<<" "<<j<<" ";s(pos);s(j);}
    else {cout<<j<<" ";s(j);}
    
}
/****************************************************/
int main()
{
    
    
    cin>>n;
    for(i=1;i<=n;i++)
    {
                    cin>>a[i];
                    }
    
    for(j=n;j>=1;j--)
    {
          for(i=1;i<j;i++){
          if(a[i]>a[i+1]){ m(j);}}
                      
    }                 
    
   
    return 0;
}
