#include<bits/stdc++.h>

using namespace std;

long long int arr[1000000];
long long int n;

int main()
{
    ios_base::sync_with_stdio(false);
        cin.tie(nullptr);
        cout.tie(nullptr);

    cin>>n;

    for (long long int i=0;i<n;i++)
    {
        cin>>arr[i];
    }

    if (n==2)
    {
        cout<<arr[1]<<" "<<arr[0];
        return 0;
    }

    int max_cifra=-1;
    long long int poz_max=-1;
    long long int l=-1;
    long long int r=-1;

    for (long long int i=n-1;i>=0;i--)
    {
        if (arr[i]>max_cifra)
        {
            max_cifra=arr[i];
            poz_max=i;
            continue;
        }

        if (arr[i]<max_cifra)
        {
            l=i;
            r=poz_max;
        }
    }

    if (l==-1)
    {
        ///swap(arr[n-2],arr[n-1]);
        bool razl=false;
        long long int poz_razl=-1;

        for (long long int i=0;i<n-1;i++)
        {
            if (arr[i]==arr[i+1])
            {
                razl=true;
                poz_razl=i;
                break;
            }
        }

        if (razl==true) swap(arr[poz_razl],arr[poz_razl+1]);
        else swap(arr[n-2],arr[n-1]);
    }

    else
    {
        swap(arr[l],arr[r]);
    }

    for (long long int i=0;i<n;i++)
    {
        cout<<arr[i]<<" ";
    }



    return 0;
}