#include <iostream>

using namespace std;

int niz[1000000];

int main()
{
    int n;
    cin >> n;
    for(int i = 0;i < n;i++)
    {
        int a;
        cin >> a;
        niz[i] = a;
    }
    int l = -1;
    for(int j = 1;j < n;j++)
    {
        if(niz[j] > niz[j-1])
        {
            l = j-1;
            break;
        }
    }
    if(l == -1)l = n-1;
    int j = l;
    int k;
    int mi = 0;
    int m = -1;
    for(k = n-1;k > j;k--)
    {
        if(niz[j] < niz[k] && m < niz[k])
        {
            mi = k;
            m = niz[k];
        }
    }
    //cout << mi << " " << j;
    swap(niz[mi],niz[j]);
    for(int i = 0;i < n;i++)
    {
        cout << niz[i] << " ";
    }
}