#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef long double ld;

bool bio[10];
int niz[1000005];
int res[1000005];

int main(){
    ios_base::sync_with_stdio(false), cin.tie(0);
    cout.precision(10);
    cout << fixed;

	int n;
	cin >> n;
	bool isti = 0;
	for(int i=1; i<=n; i++){
        cin >> niz[i];
        if(bio[niz[i]]) isti = 1;
        bio[niz[i]] = 1;
	}
	int ind = n+1;
	int mx = 0;
	for(int i=n; i>=1; i--){
        if(niz[i] < mx){
            ind = i;
            res[i] = mx;
        }
        mx = max(mx, niz[i]);
	}
	if(ind == n+1){
        if(!isti) swap(niz[n], niz[n-1]);
	}
	else{
        for(int i=n; i>=1; i--){
            if(niz[i] == res[ind]){
                swap(niz[i], niz[ind]);
                break;
            }
        }
	}
	for(int i=1; i<=n; i++) cout << niz[i] << " ";
    return 0;
}