#include <bits/stdc++.h>

using namespace std;

vector<int> v;

int main(){

    int n,x;
    cin >> n;
    for(int i = 0; i < n; i++){
        cin >> x;
        v.push_back(x);
    }

    int mc=-1,mci=-1,i1=-1,i2=-1;
    for(int i = v.size()-1;i>=0;i--){
        if(v[i]>mc){
            mc = v[i];
            mci = i;
        }
        if(v[i]<mc){
            i1 = i;
            i2 = mci;
        }
    }
    if(i1 == -1){
        if(n>=10){
            i1 = 0;
            i2 = 0;
        }
        else{
            map<int,int> m;
            bool t = true;
            for(int i = 0;i < n; i++){
                m[i] += 1;
                if(m[i]>=2){
                    t = false;
                    break;
                }
            }
            if(t){
                i1 = v.size()-1;
                i2 = v.size()-2;
            }
            else{

            i1 = 0;
            i2 = 0;
            }
        }
    }
    swap(v[i1],v[i2]);
    for(int i = 0; i < n;i++){
        cout << v[i] << " ";
    }

}