using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Drugi_Zadatak
{
    class Program
    {
        static void Zameni(ref int x,ref int y)
        {
            int temp = x;
            x = y;
            y = temp;
        }
        static int Max(int[] niz,int odKog)
        {
            int max = -1,duzina=niz.Length;
            for (int i = odKog; i < duzina; i++)
            {
                if (niz[i] > max) max = niz[i];
            }
            return max;
        }
        static int zadnjiIsti(int[] niz,int vrednost)
        {
            int n = niz.Length;
            for (int i = n - 1; i > -1; i--) if (niz[i] == vrednost) return i;
            return 69;
        }
        static void Main(string[] args)
        {
            int brojKnjiga,maksimalan;
            brojKnjiga = Convert.ToInt32(Console.ReadLine());
            string[] unos = Console.ReadLine().Split(' ');
            int[] knjige=new int[brojKnjiga];

            for (int i = 0; i < brojKnjiga; i++)
            {
                knjige[i] = Convert.ToInt32(unos[i]);
            }
            for (int i = 0; true ; i++)
            {
                try
                {
                    knjige[i] += 0;
                }
                catch (Exception)
                {
                    Zameni(ref knjige[brojKnjiga - 2], ref knjige[brojKnjiga - 1]);
                    break;
                }
                maksimalan = Max(knjige, i);
                if (knjige[i]!=maksimalan)
                {
                    Zameni(ref knjige[i],ref knjige[zadnjiIsti(knjige, maksimalan)]);
                    break;
                }
            }
            for (int i = 0; i < brojKnjiga; i++)
            {
                Console.Write(knjige[i]+" ");
            }
            Console.WriteLine();
        }
    }
}