#include<stdio.h>
long long a[10000000],b[10000000],n,m,max,ind;
void Unos(long long a[],long long n){
  for(long long i=0;i<n;i++)scanf("%lld",&a[i]);
}
void Razmeni(long long *x,long long *y){
  long long t;
  t=*x;
  *x=*y;
  *y=t;
}
void Provera(long long a[],long long n){
  int jesam=0;
  for(long long i=0;i<n-1;i++){
    for(long long j=i+1;j<n;j++)if(a[i]<a[j] && jesam==0){
      Razmeni(&a[i],&a[j]);
      jesam=1;
  }
}
if(jesam==0){
  for(long long i=0;i<n;i++)if(a[i]==a[i+1] && jesam==0){
    jesam=1;
  }
}
if(jesam==0){
Razmeni(&a[n-1], &a[n-2]);
}
}
void Ispis(long long a[],long long n){
  for(long long i=0;i<n;i++)printf("%lld ",a[i]);
}
int main(){
  scanf("%lld",&n);
  Unos(a,n);
  Provera(a,n);
Ispis(a,n);
return 0;
}