#include <bits/stdc++.h>
using namespace std;
int podeli (int a[], int l, int d)
{
    int pivot=l, k=l, i;
    for (i=l+1; i<=d; i++)
    {
        if  (a[i]>a[pivot])
        {
            k++;
            swap(a[k],a[i]);
        }
    }
    swap (a[pivot], a[k]);
    return k;
}
void quick (int a[], int l, int d)
{
    if (l<d)
    {
        int poz=podeli(a,l,d);
        quick(a,l,poz-1);
        quick(a,poz+1,d);
    }
}
void quickSort (int a[], int n)
{
    quick(a,0,n-1);
}
int ind (int a[], int n, int br)
{
    for (int i=0; i<n; i++)
        if (a[i]==br)
        return i;
}
int main()
{
    int n, i=0, p=0;
    cin>>n;
    int a[n], b[n];
    for (int i=0; i<n; i++)
        cin>>a[i];
    for (int i=0; i<n; i++)
        b[i]=a[i];
    quickSort (b,n);
    for  (int i=0; i<n; i++)
    {
        if (a[i]!=b[i])
            p=1;
    }
    if (p==0)
        swap(a[n-2], a[n-1]);
    else
    {
    int indeks=ind (a,n,b[0]);
    if (indeks==i)
    {
         while (indeks==i)
        {
            i++;
            indeks=ind(a,n,b[i]);
        }
    }
   swap (a[i],a[indeks]);
    }
    for (int i=0; i<n; i++)
        cout<<a[i]<<" ";
}