#include <bits/stdc++.h>

using namespace std;
const int maxn=(int)1e6+1;
int a[maxn],b[maxn],n;
int main()
{
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
    {
        scanf("%d",&a[i]);
        b[i]=a[i];
    }
    bool k=true;
    sort(b+1,b+n+1,greater<int>());

    for(int i=1;i<=n;i++)
    {
        if(a[i]!=b[i])
        {
            for(int j=n;j>0;j--)
            {
                if(a[j]==b[i]){swap(a[j],a[i]);break;}
            }
            k=false;
            break;
        }
        //printf("%d\n",k);
        if(k && i==n) swap(a[n],a[n-1]);
    }
    for(int i=1;i<=n;i++)
    {
        printf("%d ",a[i]);
    }
    return 0;
}