#include <cstdio>
#include <algorithm>
#include <iostream>


using namespace std;

int a[1000010];

int main()
{
    int n;
    cin>>n;
    for(int i = 0; i<n; i++)
    {
        cin>>a[i];

    }
    int k = 0;
    int maxi = 0;
    int p=0;
    int max2 = 0;
    for(int i = 1; i<n; i++)
    {
        if(a[i]>a[i-1] && k==0) {k+=1; max2=a[i];}
        if(a[i]==a[i-1]) {p+=1;}
        if(a[i]>=max2) {maxi = i; max2 = a[i];}
    }
    if(k==0 && p>0)
    {
        for(int i = 0; i<n; i++)
        {
            cout<<a[i]<<" ";
        }
    }
    if(k==0 && p==0)
    {
        swap(a[n-1], a[n-2]);
        for(int i = 0; i<n; i++)
        {
            cout<<a[i]<<" ";
        }
    }
    if(k>0)
    {
        for(int i = 0; i<n; i++)
        {
            if(a[i]<max2) {swap(a[i], a[maxi]); break;}
        }
        for(int i = 0; i<n; i++)
        {
            cout<<a[i]<<" ";
        }
    }


    return 0;
}