#include <iostream>
#include<stdio.h>
using namespace std;
void razmeni(int &x,int &y)
{
    int c;
    c=x;
    x=y;
    y=c;
}
int main()
{
    long int n,i,j,p=0,q=0;
    cin>>n;
    int max,ind1=0,ind2=0,x[n+1];
    for(i=0;i<n;i++)
    {
        scanf("%d", &x[i]);
        if(x[i]>max)
        {
            max=x[i];
            p=i;
        }
        if(x[i]>=max)
            q=i;
    }
    if(p!=0)
        if(p!=q)
            razmeni(x[0],x[q]);
        else
            razmeni(x[0],x[p]);
    else
        if(q!=0)
            razmeni(x[0],x[q]);
        else
            {
                for(i=1;i<n-1;i++)
                    {
                        if(x[i]<x[i+1])
                            for(j=i;j>0;j--)
                                if(x[i+1]<x[j])
                                    {
                                        ind1=1;
                                        razmeni(x[i+1],x[j+1]);
                                        break;
                                    }
                        else
                            if(x[i]==x[i+1])
                                ind2=1;
                        if(ind1==1)
                            break;
                    }
                if(ind1==0 && ind2==0)
                    razmeni(x[n-1],x[n-2]);
            }
    for(i=0;i<n;i++)
        printf("%d ", x[i]);
    return 0;
}