#include <iostream>

using namespace std;

int main()
{
    int n ;
    cin>>n;
    int niz[n+1];
    int maks=-1;
    int m1=-1;
    int ind=-1,ind1=-1;
    int pmaks=1;
    int x=1;
    int indpocetkamanjih=-1;
    for(int i = 1;i<=n;i++)
    {
        cin>>niz[i];
        if(niz[i]>maks)
        {
            maks=niz[i];
            ind  =i;
        }
        else if(niz[1]==maks)
        {
        if(niz[i]<maks&&pmaks==1)
        {
            pmaks=0;
            indpocetkamanjih=i;
        }
        else if(pmaks==0&&niz[i]>niz[i-1]&&x==1)
        {
            m1=niz[i];
            ind1=i;
            x=0;
        }
        else if(pmaks==0&&x==0&&niz[i]>m1)
        {
            m1=niz[i];
            ind1=i;
        }
        }
    }
    if(maks!=niz[1])
    {
        int r= maks;
        niz[ind]=niz[1];
        niz[1]=maks;
    }
    else
    {
        int j=indpocetkamanjih;
        for(;niz[j]>=m1&&j<=n;j++)
            ;
        int r=niz[j];
        niz[j]=niz[ind1];
        niz[ind1]=r;
    }
    int u = 1;
    for(;u<=n;u++)
        cout<<niz[u]<<" ";
    return 0;
}