/*
TASK:FSORT
LANG:C++
*/
#include<iostream>
using namespace std;
int a[1000];
void rec(int n)
{
     int max=-1,mpos,p=1,l; 
     max=-1;    
     for (int i=0;i<n;i++)
     if ((a[i]>a[i+1])&&(i<n-1)) p=0;
     if (p==1) return;
     for (int i=0;i<n;i++)    
     if (a[i]>max) 
     { 
                  max=a[i];         
                  mpos=i;
     }
     if (mpos==0)
     {
                 cout<<n<<' ';
                 for (int i=0;i<n/2;i++)
                 {
                     l=a[i];
                     a[i]=a[n-i-1];
                     a[n-i-1]=l;
                 }
                 rec(n-1);
     }
     else if (mpos==n-1)
     {
          rec(n-1);
     }
     else 
     {
          cout<<mpos+1<<' '<<n<<' ';
          for (int i=0;i<(mpos+1)/2;i++)
          {
              l=a[i];
              a[i]=a[mpos-i];
              a[mpos-i]=l;
          }
          for (int i=0;i<n/2;i++)
          {
              l=a[i];
              a[i]=a[n-i-1];
              a[n-i-1]=l;
          }
          rec(n-1);
     }
}
int main()
{
    
    int n;
    cin>>n;
    for (int i=0;i<n;i++)
    cin>>a[i];
    rec(n);
    cout<<endl;
    return 0;
}
                          












