#include <bits/stdc++.h>

using namespace std;

int a[10];

bool jelImaVeciNaTojPoziciji(int cifra)
{
    for(int i = 9; i > cifra; i--)
    {
        if(a[i] >= 1)
        {
            return false;
        }
    }

    return true;
}

void stampaj(vector <int> &v)
{
    cout << v[0];

    for(unsigned int i = 1; i < v.size(); i++)
    {
        cout << " " << v[i];
    }

    cout << endl;
}

void stampajCifre()
{
    cout << a[0];

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

    cout << endl;
}

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int n;

    cin >> n;

    vector <int> v(n);

    for(int i = 0; i < 10; i++)
    {
        a[i] = 0;
    }

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

    if(n == 1)
    {
        cout << v[0] << endl;
        return 0;
    }

    int index = -1;

    for(int i = 0; i < n; i++)
    {
        if(jelImaVeciNaTojPoziciji(v[i]))
        {
            a[v[i]]--;
            //stampajCifre();
            if(i == n - 1)
            {
                swap(v[n - 2], v[n - 1]);
                stampaj(v);
                return 0;
            }

            continue;
        }

        else
        {
            index = i;
            break;
        }
    }

    int najveci = -1;
    int indexOdPozadi = -1;

    for(int i = n - 1; i > index; i--)
    {
        if(v[i] > najveci)
        {
            indexOdPozadi = i;
            najveci = v[i];
        }
    }

    swap(v[index], v[indexOdPozadi]);
    stampaj(v);

    return 0;
}