#include <iostream>
#include <bits/stdc++.h>
bool znj=false;
using namespace std;
long long pronadji(long long a[],long long x,long long n)
{
    znj = true;
    for(long long i=n-1;i>=0;i--)

        if(a[i]==x)
            return i;
}
int main()
{
    long long n,pom1,pom2;
    cin>>n;
    long long a[n],b[n];
    for(long long i=0;i<n;i++)
        cin>>a[i];
    for(long long i=0;i<n;i++)
        b[i]=a[i];
    sort(a,a+n,greater<long long>());
    for(int i=0;i<n;i++)
    {
        if(a[i]==b[i])
            continue;
        else
        {
            pom1=pronadji(b,a[i],n);
            pom2=b[i];
            b[i]=b[pom1];
            b[pom1]=pom2;
            break;
        }
    }
    if(znj==false)
    {
        pom2=b[n-1];
        b[n-1]=b[n-2];
        b[n-2]=pom2;

    }
    for(long long i=0;i<n;i++)
            cout<<b[i]<<" ";
    return 0;
}