#include <bits/stdc++.h>
using namespace std;

int a[100006];
int b[100006];

int main()
{
    int n;
    cin >> n;
    for(int i = 0; i < n; ++i){
        cin >> a[i];
        b[i] = a[i];
    }
    sort(b, b+ n);reverse(b,b +n);
    int si = -1;
    for(int i = 0; i < n; ++i){
        if(a[i] != b[i]){
            si = i;
            break;
        }
    }
    if(si == -1){
        int fns = -1;
        for(int i = 0; i < n - 1; ++i){
            if(a[i] == a[i + 1]){
                fns = i; break;}
        }
        if(fns == -1)swap(a[n  - 1], a[n - 2]);
        for(int i = 0; i < n; ++i)
            cout << a[i] << " ";
        cout << "\n";return 0;
    }

    pair<int, int> mx = {-1, -1};
    for(int i = si + 1; i < n; ++i){
        if(mx.second <= a[i]){
            mx = {i, a[i]};
        }
    }

    swap(a[si], a[mx.first]);
    for(int i = 0; i < n; ++i)cout << a[i] << " ";
    cout << "\n";
    return 0;
}