#include <stdio.h>

int main(void)
{

	// Unos parametara


	long n;

	printf ("Unesite N : ");
	scanf ("%ld",&n);

	// Kreiramo niz on n elemenata.
	char a[n];
	
	long i;
	long gde=0;

	printf ("Unesite elemente niza : ");

	char max=0;

	for (i=0; i<n; i++)
	{
		scanf ("%d", &a[i]);

		// Odredimo prvu poziciju maksimalne cifre.
		if (a[i] > max)
		{
			max=a[i];
			gde=i;
		}
	}

	
		// Glavni deo.
	
	
	// Ako imamo unete samo dve vrednosti, zamenimo ih i to je to.
	if (n==2)
	{
		int tmp;
		tmp=a[0];
		a[0]=a[1];
		a[1]=tmp;
	}
	else
	{
		long x,y;
			
		// Ako je maksimalna vrednost vec na pocetku, potrazimo prvu vrednost manju od nje.
		if (gde==0)
		{
			i=0;

			while (a[i]==max && i++<n-2);

			gde=i+1;
			max=a[i+1];
			
			for (x=i; x<n-1; x++)
			{
				for (y=x+1; y<n; y++)
				{
					if (a[x]<a[y] && a[y]>max)
					{
						max=a[y];
						gde=y;
					}
				}
			}

			char tmp=a[i];
			a[i]=a[gde];
			a[gde]=tmp;
		}
		else
		{
			int tmp;
			tmp=a[0];
			a[0]=a[gde];
			a[gde]=tmp;
		}
	}
	

	// Ispis rezultata.
	
	
	for (i=0; i<n; i++)
	{
		printf("%d ", a[i]);
	}
}