#include <iostream>

using namespace std;

int main()
{
    int n, p ;
    cin >> n ;
    int niz[n], ponovljeni[10]={0,0,0,0,0,0,0,0,0,0} ;
    for(int i=0; i<n; i++){
        cin >> p ;
        niz[i]=p ;
        ponovljeni[p]++ ;
    }
    int m=-1, mesto=-1, levo=-1, desno=-1 ;
    for(int i=n-1; i>=0; i--){
        if(niz[i]>m){
            m=niz[i] ;
            mesto=i ;
        }
        if(niz[i]<m){
            levo=i ;
            desno=mesto ;
        }
    }
    if(levo!=-1){
        swap(niz[levo],niz[desno]) ;
    }
    else{
        int a=0 ;
        for(int i=0; i<10; i++){
            if(ponovljeni[i]>a){
                a=ponovljeni[i] ;
            }
        }
        if(a<2){
            swap(niz[n-1],niz[n-2]) ;
        }
    }
    for(int i=0; i<n; i++){
        cout << niz[i] << " " ;
    }
    return 0;
}