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

int main()
{
     long int n;
    scanf("%ld",&n);
    long int a[n];
    long int i;
    long int j;
    long int k;
    for(i=0;i<n;i++){
            scanf("%ld",&a[i]);
    }
    long int b[n];
    for(i=0;i<n;i++){
            b[i]=a[i];
    }
    for(i=0;i<n-1;i++){
        for(j=i+1;j<n;j++){
            if(b[i]<b[j]){
                k=b[i];
                b[i]=b[j];
                b[j]=k;
            }
      }
    }
     long int swap1;
    int p;
    p=0;
    int y;
    y=0;
     for(j=0;j<n;j++){
           if(a[j]==b[j]){
            y++;
           }
    }
    if(y==n){ //isti kao sortiran
    for(j=0;j<n-1;j++){
           if(b[j]!=b[j+1]){
            p++;
    }
    }
    if(p==n-1){ // i sve razlicite
               swap1=b[n-1];
                b[n-1]=b[n-2];
                b[n-2]=swap1;
    }
    }


    long int s1;
    long int indeks1;
    long int s2;
    int br;
    br=0;
    for(i=0;i<n;i++){
            if((a[i]!=b[i])&&(br==0)) {
                s1=a[i];
                indeks1=i;
                 s2=b[i];
                a[i]=s2;
                br=1;
            }
    }
    for(j=n-1;j>=indeks1+1;j--){
             if(a[j]==s2){
                a[j]=s1;
                break;
            }
    }
    for(j=0;j<n;j++){
            printf("%ld",a[j]);
            printf(" ");

    }

}