#include <bits/stdc++.h>
using namespace std;
int n,x[1000000],y[9];
void ispis(){
	for(int i=0;i<n;i++)
		cout<<x[i]<<" ";
}
int main() {
	cin>>n;
	for(int i=0;i<10;i++)y[i]=-1;
	for(int i=0;i<n;i++){
		cin>>x[i];
		y[x[i]]=i;
	}
	int k;
	for(k=1;k<n;k++)
		if(x[k]>x[k-1])
			break;
	if(k==n){
		for(int i=0;i<10;i++)
			y[i]=0;
		for(int i=0;i<n;i++){
			if(y[x[i]]!=0){
				ispis();
				return 0;
			}
			y[x[i]]=1;
		}
		swap(x[n-1],x[n-2]);
		ispis();
		return 0;
	}
	for(int i=0;i<n;i++)
		for(int j=9;j>x[i];j--){
			if(y[j]>i){
				swap(x[i],x[y[j]]);
				ispis();
				return 0;
			}
		}
	return 0;
}