#include<iostream>
using namespace std;
int maxi;
int pmax(int i,int n,int x[]){
    int maxi=i;
    if(i>=n)
        return -1;
    for(int k=i+1;k<n;k++)
        if(x[k]>x[maxi])
            maxi=k;
    return maxi;
}
void razmena(int i,int n,int x[],int maxi){
    int a;
    if(maxi!=i && maxi!=-1){
        a=x[i];
        x[i]=x[maxi];
        x[maxi]=a;
    }
    else if(maxi!=-1)
        razmena(i+1,n,x,pmax(i+1,n,x));
    else{
        a=x[n-2];
        x[n-2]=x[n-1];
        x[n-1]=a;
    }
}
int main(){
    int n;
    cin>>n;
    int x[n];
    for(int i=0;i<n;i++)
        cin>>x[i];
    maxi=pmax(0,n,x);
    razmena(0,n,x,maxi);
    for(int i=0;i<n;i++)
        cout<<x[i]<<" ";
    return 0;
}