#include <iostream>
//#include <algorithm>
//#include <cmath>
//#include <string>
using namespace std;
int f(int m[],int i,int n){
    for(int s=1;s<=n;s++){
        if(m[s]==i){
            return s;
        }
    }
}
int main(){

    int n,i,b,c=1,zam,mesto;
    int brojevi[10];
    for(i=0;i<10;i++){
        brojevi[i]=0;
    }
    cin >> n;
    int m[n+1];
    for(i=1;i<=n;i++){
        cin >> b;
        m[i] = b;
        brojevi[b]++;
    }

    for(i=9;i>=0;i--){
        if(brojevi[i]>0){
            if((i==m[c]) && (brojevi[i]==1)){
                //AKO JE JEDINI BROJ KOJI JE NAJVECI I AKO JE NA DOBROM MESTU, ONDA SE NE DIRA
                if(c==n){
                    zam = m[c];
                    m[c] = m[c-1];
                    m[c-1] = zam;
                    break;
                }
                c++;

            } else if((brojevi[i]==1) && (i!=m[c])){
                //AKO JE JEDINI I AKO NIJE PRVI SLEDECI IDE ZAMENA
                zam = m[c];
                mesto = f(m,i,n);
                m[mesto] = zam;
                m[c] = i;
                break;
            } else if((i==m[c]) && brojevi[i]>1){
                //AKO JE PRVI SLEDECI I IMA IH JOS ONDA NISTA SE NE RADI
                break;
            } //else if((i==m[c]) && ())
        }
    }
    for(i=1;i<=n;i++){
        cout << m[i] << " ";
    }

    return 0;
}