using System;
using System.Collections.Generic;

namespace shIT
{
	class Program
	{
		static int[] func(string[] unos) {
			
			int[] zadnje = new int[10];
			for (int i = 0; i < 10; i++)
			{
				zadnje[i] = -1;
			} //--popunjavanje niza

			for (int i = 0; i < unos.Length; i++)
			{
				zadnje[Convert.ToChar(unos[i]) - '0'] = i;
			}//-- racunanje poslednjeg pojavljivanja cifre u broju


			int[] rez = { unos.Length-1, unos.Length-2};

			for (int i = 0; i < unos.Length; i++)
			{
				int cifra = int.Parse(unos[i]);
				for (int j = 9; j > cifra; j--)
				{
					if (zadnje[j] > i)
					{
						//zameni i-tu cifru i zadnje[j]-tu cifru
						rez[0] = i;
						rez[1] = zadnje[j];
						
						return rez;
					}
				}
			}
			return rez;
		}

		static void Main(string[] args)
		{
			int n = int.Parse(Console.ReadLine());
			string[] unos = Console.ReadLine().Split();

			int[] indexi = func(unos);

			string pom = unos[indexi[0]];
			unos[indexi[0]] = unos[indexi[1]];
			unos[indexi[1]] = pom;
			for (int i = 0; i < unos.Length; i++)
			{
				Console.Write(unos[i]+" ");
			}
		}	
	}
}