#include <bits/stdc++.h>

using namespace std;

int niz[1000060];

bool opadajuci(int n)
{
    for(int i=0;i<n-1;i++)
        if(niz[i+1]>niz[i])return true;
    return false;
}


int main()
{
    int n;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>niz[i];
    }
    int maxi=-1;
    int ind=-1;
    if(n==2)
    {
        int pom=niz[n-1];
        niz[n-1]=niz[n-2];
        niz[n-2]=pom;
        for(int i=0;i<n;i++)
        cout<<niz[i]<<" ";
        return 0;
    }
    for(int i=n-1;i>0;i--)
    {
        if(niz[i]>maxi)
        {
            maxi=niz[i];
            ind=i;
        }
    }
    if(maxi==niz[0]&&!opadajuci(n))
    {
        for(int i=0;i<n;i++)
        cout<<niz[i]<<" ";
        return 0;
    }
    for(int i=0;i<n;i++)
    {
        if(niz[i]<maxi)
        {
            int pom=niz[i];
            niz[i]=niz[ind];
            niz[ind]=pom;
            break;
        }
    }
    for(int i=0;i<n;i++)
        cout<<niz[i]<<" ";

    return 0;
}