#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n,j=0,ind=0,ind1,ind2=0,max=-1,flag=1,br=0,red=0,dali;
    scanf("%d",&n);
    int a[n];
    for(int i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
        if(a[i]>=max)
        {
            max=a[i];
            ind1 = i;
        }
        if(i>0 && a[i]>a[i-1])
        {
            red = 1;
        }
        if(i>0 && a[i]!=a[i-1])
        {
            dali = 1;
        }
    }
    if(dali)
     {
         if(red){
        for(int i=j;i<ind1;i++)
        {
            if(a[i]!=max) flag=0;
        }
        while(a[j]==max && flag && j<n-1)
        {
            j=ind1+1;
            max=-1;
            for(int i=j;i<n;i++)
            {
                if(a[i]>=max)
                {
                    max=a[i];
                    ind1 = i;
                }
            }
            for(int i=j;i<ind1;i++)
            {
                if(a[i]!=max) flag=0;
            }
        }
    flag=1;
    if(j<n-1)
    {
    while(flag==1)
    {
        if(a[j]<max)
        {
            ind2=j;
            flag=0;
        }
        j++;
    }
    }
    else ind2=0;}
    else
    {
        ind2=n-2;
        ind1=n-1;
    }
    j=a[ind1];
    a[ind1]=a[ind2];
    a[ind2]=j;}
    for(int i=0;i<n;i++)
    {
        printf("%d ",a[i]);
    }
}