#include <bits/stdc++.h>

using namespace std;

void swap(long long int* a, long long int* b)
{
    long long int t = *a;
    *a = *b;
    *b = t;
}

long long int partition (long long int a[], long long int l, long long int h)
{
    long long int pivot = a[h];
    long long int i = (l - 1);

    for (long long int j = l; j <= h- 1; j++)
    {
        if (a[j] > pivot)
        {
            i++;
            swap(&a[i], &a[j]);
        }
    }
    swap(&a[i + 1], &a[h]);
    return (i + 1);
}

void quickSort(long long int a[], long long int l, long long int h)
{
    if (l < h)
    {
        long long int pi = partition(a, l, h);
        quickSort(a, l, pi - 1);
        quickSort(a, pi + 1, h);
    }
}

long long int maximalni(long long int b[], long long int l, long long int h)
{
    long long int maxi=b[l],j=0;
    for(long long int i=l; i<h; i++)
    {
        if(maxi<b[i]) 
        {
           maxi=b[i];
           j=i;
        }
    }
    return j;
}

int main()
{
    long long int n;
    scanf("%lld",&n);
    long long int a[n],b[n]={0};
    for (long long int i=0; i<n; i++)
    {
        scanf("%lld",&a[i]);
        b[i]=a[i];
    }
    if(n==2)
    {
        swap(&a[0],&a[1]);
    } else
        {
            quickSort(b,0,n-1);
            for (long long int i=0; i<n; i++)
            {
                if(a[i]!=b[i])
                {
                 long long int t=maximalni(a,i,n);
                 swap(&a[i], &a[t]);
                 break;
                }
            }
        }
    for (long long int i=0; i<n; i++)
    {
        printf("%lld ",a[i]);
    }
    return 0;
}