#include<iostream>

using namespace std;

int niz[100010],cifre[10];

int main()
{
	int n;
	scanf("%d",&n);
	int max=-1;
	bool duplecifre=false;
	for(int i =0;i<n;i++)
	{
		scanf("%d",&niz[i]);
		cifre[niz[i]]++;
		if(cifre[niz[i]]>1)
			duplecifre=true;
	}
		
	int manjacifraind,manjacifra,vecacifra;
	bool uso=false;
	for(int i=0;i<n;i++)
	{
		int broj=niz[i];
		cifre[broj]--;
		for(int j=9;j>broj;j--)
		{
			if(cifre[j]>0)
			{
				uso=true;
				manjacifra=broj;
				manjacifraind=i;
				vecacifra=j;
				break;
			}
			if(uso)
				break;
		}
		if(uso) break;
	}
	if(!uso && !duplecifre)
	{
		int pom=niz[n-1];
		niz[n-1]=niz[n-2];
		niz[n-2]=pom;
	}
	if(uso)
	{
		for(int i=n-1;i>=0;i--)
		{	
			if(niz[i]==vecacifra)
			{
				niz[i]=manjacifra;
				niz[manjacifraind]=vecacifra;
			}
		}	
	}
	
	for(int i=0;i<n;i++)
	{
		printf("%d ",niz[i]);
	}
}