#include <bits/stdc++.h>
using namespace std;

int la(int a[],int l,int h,int x,int n)
{
    if (h>=l)
    {
        int m = l + (h-l)/2;
        if (( m==n-1||x<a[m+1]) && a[m] == x)
            return m;
        else if (x<a[m])
            return la(a,l,(m -1), x, n);
        else
            return la(a,(m + 1), h, x, n);
    }
    return -1;
}

int main()
{
    int n;
    cin>>n;
    int a[n];
    int b[n];
    for(int i=0;i<n;++i)
    {
        cin>>a[i];
        b[i]=a[i];
    }
    sort(b,b+n,greater<int>());
    bool d=1;

    for(int i=0;i<n;++i)
    {
        if(a[i]!=b[i])
        {
            swap(a[i],a[la(a,0,n-1,b[i],n)]);
            d=0;
        }
        if(d==0)break;
    }
    if(d==1)swap(a[n-1],a[n-2]);

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