#include <iostream>
using namespace std;
int rekurzija(int a[],int n, int b)
{

    if(n-b==2)
    {
        int p=a[b];
        a[b]=a[b+1];
        a[b+1]=p;
    }

    else
    {int maxx=a[n-1];
    int maxi=n-1;
        for(int i=n-2; i>b; i--)
        {
            if (maxx<a[i])
            {
                maxx=a[i];
                maxi=i;
            }
            if(maxx==9)
                break;
        }
        if (maxx>a[b])
        {
            int p=a[maxi];
            a[maxi]=a[b];
            a[b]=p;
        }
        else
        {
            rekurzija(a,n,b+1);
            return 0;
        }
    }
    for(int i=0; i<n; i++)
        cout<<a[i]<<" ";
    return 0;
}



int main()
{
    int n;
    cin>>n;
    int a[n];
        for(int i=0; i<n; i++)
        cin>>a[i];
        bool opadajuc=true;
        bool duplikati=false;
        for(int i=n-1;i>0;i--)
        {
            if(a[i]>a[i-1])
            {
                opadajuc=false;
                break;
            }
            if(a[i]==a[i-1])
            {
                duplikati=true;
            }
        }
        if(opadajuc&&duplikati)
        {
             for(int i=0; i<n; i++)
        cout<<a[i]<<" ";
        }
        else
        {
            rekurzija(a,n,0);
        }

    return 0;
}