/*
TASK:fsort
LANG:C++
*/
#include <iostream>
using namespace std;
int n,a[1001],i,k,j,k1,c,d;
bool z=true;
void swi(int b) 
{
     for (c=1;c<b;c++) {
         d=a[c]; a[c]=a[b]; a[b]=d; b--; }
return;
}     
void get(int m)
{
     k=0;
     for (j=1;j<=m;j++)
         if (a[j]>k) { k=a[j]; k1=j; }
     if (k1==m) return;
     if (k1!=1) { 
        if (z==false)cout << ' '; 
        cout << k1; swi(k1); z=false;}
     swi(m);
     if (z==false) cout << ' ';
     z=false;
     cout << m;
     return;    
}
int main()
{
    cin >> n;
    for (i=1;i<=n;i++)
        cin >> a[i];
    for (i=n;i>=2;i--)
        get(i);  
    cout << '\n';
    return 0;
}
