#include <bits/stdc++.h>

using namespace std;

int main()
{
    long long n, maxi = 0, br, br1 = -1;
    bool t = true;
    cin >> n;
    long long niz[n];
    for(long long i = 0 ; i < n ; i++){
        cin >> niz[i];
    }
    for(long long i = 0 ; i < n - 1 ; i++){
        if(niz[i] < niz[i + 1]) t = false, i = n;
        if(niz[i] == niz[i + 1]) br1 = i;
    }
    if(t == true){
        if(n != 1 && br1 == -1) swap(niz[n - 1], niz[n - 2]);
        else if(n != 1) swap(niz[br1], niz[br1 + 1]);
    for(long long i = 0 ; i < n ; i++){
        cout << niz[i] << " ";
    }
    return 0;
    }
    t = false;
    for(long long i = 0 ; i < n ; i++){
        for(long long j = i + 1 ; j < n ; j++){
            if(niz[j] > niz[i]){
            t = true;
            if(maxi <= niz[j]){
            maxi = niz[j];
            br = j;
            }
        }
    }
    if(t == true){
        swap(niz[i], niz[br]);
        i = n;
    }
}
    for(long long i = 0 ; i < n ; i++){
        cout << niz[i] << " ";
    }
    return 0;
}