/*
TASK:fsort
LANG:C++
*/
#include<iostream>
using namespace std;
int n,a[1006],i,maxi,k;
void obru6tane(int l)
{
     int ii,j,c;
     ii=1;
     j=l;
     while(j-ii>0)
     {
                c=a[ii];
                a[ii]=a[j];
                a[j]=c; 
                ii++;
                j--; 
     }
}
void maxx()
{
     int j;
     maxi=a[1];
     k=1;
     for(j=2;j<=n;j++)if(maxi<a[j])
     {
                                   maxi=a[j];
                                   k=j;
     }
}
bool proverka()
{
     int j;
     for(j=1;j<n;j++)if(a[j]>a[j+1])return 0;
     return 1; 
}
int main()
{
    cin>>n;
    for(i=1;i<=n;i++)cin>>a[i];
    bool p=1,f=1;
    while(p)
    {
            if(proverka())
            {
                          p=0;
                          break;
            }
            maxx();
            if(k!=1 && k!=n)
            {
                    obru6tane(k);
                    if(f)cout<<k;
                    else cout<<' '<<k;
                    f=0;
            }
            if(proverka())
            {
                          p=0;
                          break;
            }
            if(a[1]==maxi)
            {
                          obru6tane(n);
                          if(f)cout<<n;
                          else cout<<' '<<n;
                          f=0;
            }
            n--;
    }
    if(!f)cout<<endl;
    system("pause");
    return 0;
}
    
