#include <cstdio>
#include <algorithm>

using namespace std;

int input[1000005];
int niz[1000005];

bool comp(int a, int b)
{
    return (a > b);
}

int main()
{
    int n;
    scanf("%d", &n);
    int a;
    for(int i = 0; i<n; i++)
    {
        scanf("%d", &a);
        input[i]=a;
        niz[i]=a;
    }
    sort(niz, niz+n, comp);
    int k = 0;
    for(int i = 0; i<n; i++)
    {
        if(input[i]<=niz[k])
        {
            if(input[i]==niz[k])
                k++;
            else
            {
                bool pronasao = false;
                for(int j =n-1; j>=i; j--)
                {
                    if(input[j]==niz[k])
                        swap(input[i],input[j]);
                }

                for(int j = 0; j<n; j++)
                {
                    printf("%d ", input[j]);
                }
                
                return 0;
            }
        }
    }

    bool nasao = false;
    for(int i = 0; i<n-1 && !nasao; i++)
    {
        if(niz[i]==niz[i+1])
            nasao = true;
    }

    if(!nasao)
        swap(input[n-1], input[n-2]);


    for(int i = 0; i<n; i++)
    {
        printf("%d ", input[i]);
    }

    return 0;
}