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

namespace TakProg_2
{
    class Program
    {
        static List<int> knjige;
        static int vratiPoslednji(int startIndex, int broj)
        {
            int index = -1;
            if (knjige[startIndex] == broj)
                startIndex++;
            for (int i = startIndex; i < knjige.Count; i++)
            {
                if (knjige[i] == broj)
                    index = i;
            }
            return index;
        }
        static void Main(string[] args)
        {
            int brojKnjiga = int.Parse(Console.ReadLine());
            string[] s = Console.ReadLine().Split();
            knjige = new List<int>();
            bool promena = false;
            bool uzastopni = false;
            for (int i = 0; i < brojKnjiga; i++)
            {
                knjige.Add(int.Parse(s[i]));
                if (uzastopni == false && i!=0 && knjige[i] == knjige[i - 1])
                    uzastopni = true;
            }
            if (brojKnjiga == 2)
            {
                Console.WriteLine(knjige[1] + " " + knjige[0]);
                return;
            }
            int pokazivac = 0;
            for (int brojKojiSeTrazi = 9; brojKojiSeTrazi > 0; brojKojiSeTrazi--)
            {
                if (knjige[pokazivac] != brojKojiSeTrazi)
                {
                    int index = vratiPoslednji(0, brojKojiSeTrazi);
                    if (index!=-1)
                    {
                        int temp = knjige[pokazivac];
                        knjige[pokazivac] = knjige[index];
                        knjige[index] = temp;
                        promena = true;
                        break;
                    }
                    else
                    {
                        continue;
                    }
                }
                else
                {
                    while (knjige[pokazivac] == brojKojiSeTrazi)
                    {
                        if (pokazivac < brojKnjiga - 1)
                        {
                            pokazivac++;
                        }
                        else
                        {
                            break;
                        }
                    }
                    int index = vratiPoslednji(pokazivac, brojKojiSeTrazi);
                    if (index != -1)
                    {
                        int temp = knjige[pokazivac];
                        knjige[pokazivac] = knjige[index];
                        knjige[index] = temp;
                        promena = true;
                        break;
                    }
                    else
                    {
                        continue;
                    }
                }
            }
            if (promena == false && uzastopni == false)
            {
                int temp = knjige[knjige.Count - 1];
                knjige[knjige.Count - 1] = knjige[knjige.Count - 2];
                knjige[knjige.Count - 2] = temp;
            }
            foreach (int knjiga in knjige)
                Console.Write(knjiga + " ");
        }
    }
}