#include<iostream>
#include<cmath>
using namespace std;
main()
{
	int N;
	scanf("%d",&N);
	int niz[N];
	for(int i=0;i<N;i++)
		scanf("%d",&niz[i]);
	int p1=0,p2=0;
	for(int brojac=0;brojac<N;brojac++)
	{
		int indeks=brojac;
		int max=niz[brojac];
		int indeks1=brojac;
		if(N-brojac==2)
		{
			if(p1==p2)
			{
				int temp;
				temp=niz[N-1];
				niz[N-1]=niz[N-2];
				niz[N-2]=temp;
				for(int i=0;i<N;i++)
					printf("%d ",niz[i]);
				return 0;
			}
			else if(niz[N-1]>niz[N-2])
			{
				int temp;
				temp=niz[N-1];
				niz[N-1]=niz[N-2];
				niz[N-2]=temp;
				for(int i=0;i<N;i++)
					printf("%d ",niz[i]);
				return 0;
			}
			else
			{
				for(int i=0;i<N;i++)
					printf("%d ",niz[i]);
				return 0;
			}
		}
		for(int i=brojac+1;i<N;i++)
		{
			if(niz[i]>max)
			{
				max=niz[i];
				indeks=i;
			}
			if(niz[i]>=max)
			{
				p1=indeks;
				indeks1=i;
				p2=indeks1;
			}
		}
		if(indeks!=brojac)
		{
			niz[indeks1]=niz[brojac];
			niz[brojac]=max;
			for(int i=0;i<N;i++)
				printf("%d ",niz[i]);
			return 0;
		}
	}
}