#include <iostream>

using namespace std;


void pronaciZamenu(int a[], long long int k, long long int maximum, long long int pocetak)
{
    for(pocetak = pocetak; pocetak < maximum; pocetak++)
    {
        if(a[pocetak] < a[maximum])
        {
            swap(a[pocetak], a[maximum]);
            return;
        }
    }

    if(maximum == k-1 || maximum == k-2)
    {
        swap(a[k-1], a[k-2]);
        return;
    }

    int pomaxi = maximum+1;

    for(int i = maximum+1; i < k; i++)
    {
        if(a[i] >= a[pomaxi])
        {
            pomaxi = i;
        }
    }

    pronaciZamenu(a, k, pomaxi, pocetak+1);

    return;

}
int main()
{
    long long int n, maxi = 0;
    cin >> n;
    int a[n];

    for(int i = 0; i < n; i++)
    {
        cin >> a[i];
        if(a[i] >= a[maxi])
        {
            maxi = i;
        }
    }

    pronaciZamenu(a, n, maxi, 0);

    for(int i = 0; i < n; i++)
    {
        cout << a[i] << " ";
    }

    return 0;
}