#include <iostream>

using namespace std;

int main()
{
    long N;
    cin>>N;

    long nizBrojeva[N];
    long brMax = 0;
    long lokacija=0;
    long mestoZamene=0;

    cin>>nizBrojeva[0];
    for(long i = 1; i < N; i++)
    {
        cin>>nizBrojeva[i];
        if(nizBrojeva[i]>=brMax)
        {
            long j;
            for(j = 0; j<i;j++)
            {
                if(nizBrojeva[j]<nizBrojeva[i])
                    break;
            }

            if(j<i)
            {
                brMax=nizBrojeva[i];
                lokacija=i;
                mestoZamene=j;
            }
        }
    }

    if(lokacija==0 && mestoZamene == 0)
    {
    for(long i = 1; i < N; i++)
    {
        if(nizBrojeva[i]>=brMax)
        {
            long j;
            for(j = 0; j<i;j++)
            {
                if(nizBrojeva[j]<=nizBrojeva[i])
                    break;
            }

            if(j<i)
            {
                brMax=nizBrojeva[i];
                lokacija=i;
                mestoZamene=j;
            }
        }
    }
    }
    if(lokacija ==0 && mestoZamene==0)
    {
        lokacija = N-1;
        mestoZamene = N-2;
    }

    long p=nizBrojeva[lokacija];
    nizBrojeva[lokacija]=nizBrojeva[mestoZamene];
    nizBrojeva[mestoZamene]=p;

    for(long i = 0; i < N; i++)
    {
        cout<<nizBrojeva[i]<<" ";
    }

}