#include <bits/stdc++.h>
using namespace std;
#define pb push_back
int ucitaj()
{
	int rez=0;
	char ch;
	while(true)
	{
		ch=getchar();
		if (ch<'0' or ch>'9') break;
		rez=rez*10+(ch-'0');
	}
	return rez;
}
int main()
{
	int n,ist,max,i,km,pi,pom;
	vector <int> A; 
	n=ucitaj();
	pi=1;
	 
	if (n==2)
	{
		A.pb(ucitaj());
		A.pb(ucitaj());
		printf("%d ",A[1]);
		printf("%d",A[0]);
		goto kraj;
	}
	
	
	A.pb(ucitaj());
	A.pb(ucitaj());
	ist=A[1];
	if (A[0]>A[1])
	{
		max=A[0];
		km=0;
	}
	else
	{
		max=A[1];
		km=1;
	}
	
	
	for (i=2;i<n;i++)
	{
		A.pb(ucitaj());
		if (A[i]>=max)
		{
			max=A[i];
			km=i;
		}
		if (A[i]!=ist)
		{
			pi=0;
		}
	}
	
	if (pi==1)
	{
		if (A[0]<ist)
		{
			A[n-1]=A[0];
			A[0]=ist;
			goto stampaj;
		}
		else
		{
			goto stampaj;
		}
	}
	else
	{
		for (i=0;i<km;i++)
		{
			if (A[i]<max)
			{
				pom=A[i];
				A[i]=max;
				A[km]=pom;
				goto stampaj;
			}
		}
		
		
	}
	stampaj:
		for (i=0;i<n;i++)
		{
			printf("%d ",A[i]);
		}
	kraj:
		pi=0;
}