#include <iostream>

using namespace std;

int main()
{
    int n;
    int maks;
    int p;
    int gde=0;
    cin >> n;
    int a[n];
    bool flag=true;
    bool flag2=true;
    if (n==2){
        cin >> a[0] >> a[1];
        cout << a[1] << a[0];
    }else{
        cin >> a[0];
    for (int i=1; i<n; i++){
        cin >> a[i];
        if (a[i]>a[i-1]){
            if (flag){
                gde=i;
            }
            flag=false;
        }
    }
    if (flag){
        for (int i=1; i<n; i++){
            if (a[i]==a[i-1]){
                flag2=false;
                break;
            }
        }
        if (flag2){
            for (int i=0; i<n-2; i++){
                cout << a[i] << ' ';
            }
            cout << a[n-2] << ' ' << a[n-1];
        }else{
            for (int i=0; i<n; i++){
                cout << a[i] << ' ';
            }
        }
    } else{
        maks=gde;

         for (int i=gde; i<n; i++){
                if (a[i]>=a[maks]){
                    maks=i;
                }
            }

        for (int i=0; i<n; i++){
                if (a[i]<a[maks]){
                   p=a[i];
                   a[i]=a[maks];
                   a[maks]=p;
                   break;
                }
            }
        for (int i=0; i<n; i++){
                cout << a[i] << ' ';
            }
    }
   }
    return 0;

}