#include <bits/stdc++.h>

#define endl "\n"

using namespace std;

int main()
{
    ios::sync_with_stdio(false); cin.tie(0);

    int n; cin >> n;
    vector<int> v(n);
    bool issor=true,dvais=false;

    for(int i=0;i<n;i++) {
        cin >> v[i];
        if(i && v[i]>v[i-1])
            issor=false;
        if(i && v[i]==v[i-1])
            dvais=true;
    }

    if(issor) {
        if(!dvais)
            swap(v[n-1],v[n-2]);
        for(auto x:v)
            cout << x << " ";
        return 0;
    }

    int l,r;
    int maxi=0,maxiin=-1;

    for(int i=n-1;i>=0;i--) {
        if(v[i]>maxi) {
            maxi=v[i];
            maxiin=i;
            continue;
        }
        if(v[i]<maxi) {
            l=i;
            r=maxiin;
        }
    }
    swap(v[l],v[r]);

    for(auto x:v)
        cout << x << " ";

    return 0;
}