#include<stdio.h>
using namespace std;
int x[100001];
main()
{
    int n,i,indG=-1,najveci,indL,indD,p,nasao=0;
    scanf("%d",&n);
    scanf("%d",&x[0]);
    for(i=1;i<n;i++)
    {
        scanf("%d",&x[i]);
        if(x[i]>x[i-1])
        {
            indG=i-1;
            break;
        }
    }
    if(indG==-1)
    {
        p=x[n-2];
        x[n-2]=x[n-1];
        x[n-1]=p;
    }
    else
    {
    najveci=x[indG+1];
    indD=indG+1;
    for(i=indG+2;i<n;i++)
    {
        scanf("%d",&x[i]);
        if(x[i]>=najveci)
        {
            najveci=x[i];
            indD=i;
        }
    }
    for(i=indG;i>=0;i--)
    {
        if(x[i]>=najveci)
        {
            indL=i+1;
            nasao=1;
            break;
        }
    }
    if(nasao==0)
        indL=0;

        p=x[indL];
        x[indL]=x[indD];
        x[indD]=p;

    }


    for(i=0;i<n;i++)
        printf("%d ",x[i]);


}