#include <bits/stdc++.h>

using namespace std;

int main()
{
    ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
    int n;
    cin >> n;

    vector<int> brojevi(n);
    vector<int> maxi(n);

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

    maxi[n - 1] = brojevi[n - 1];
    vector<int> it(n);
    it[n - 1] = n - 1;
    for(int i = n - 2; i >= 0; i--){
        if(maxi[i + 1] >= brojevi[i]){
            it[i] = it[i + 1];
            maxi[i] = maxi[i + 1];
        }
        else{
            it[i] = i;
            maxi[i] = brojevi[i];
        }
    }
    bool isti = false;
    bool saban = false;
    for(int i = 0; i < n; i++){
        if(brojevi[i] < maxi[i]){
            int pom = brojevi[i];
            brojevi[i] = brojevi[it[i]];
            brojevi[it[i]] = pom;
            saban = true;
            break;
        }
    }
    if(!saban){
        for(int i = 1; i < n; i++){
            if(brojevi[i] == brojevi[i - 1]){
                isti = true;
                break;
            }
        }
    }
    if(!saban && !isti){
        int pom = brojevi[n - 1];
        brojevi[n - 1] = brojevi[n - 2];
        brojevi[n - 2] = pom;
    }
    for(int i = 0; i < n; i++){
        cout << brojevi[i] << " ";
    }
    return 0;
}