#include <bits/stdc++.h>
#include <stdio.h>
#include <vector>
#include <algorithm>

using namespace std;

int main(){
    int a, n, poz, tmp;
    int niz[10]={0};
    bool zamenjen = false;
    vector<int> v, v1;

    scanf("%d", &n);

    for(int i= 0 ;i<n; i++){

        scanf("%d", &a);
        v.push_back(a);
        v1.push_back(a);
        niz[a]++;
    }
    sort(v1.begin(), v1.end(), greater<int>());

    for(int i= 0 ;i<n; i++){

        if(v1[i] != v[i]){
            for(int j = n-1; i<j; j--)
                if(v1[i] == v[j]){
                    poz = j;
                    break;
                }
            tmp = v[poz];
            v[poz] = v[i];
            v[i] = tmp;
            zamenjen = true;
            break;
        }

    }
        
    if(!zamenjen){
        zamenjen = true;
        for(int i = 0; i <10; i++)
            if(niz[i] > 1){
                zamenjen = false;
                break;
            }
        if(zamenjen){
            tmp = v[n-1];
            v[n-1] = v[n-2];
            v[n-2] = tmp;
        }

    }
    
    for(int i= 0 ;i<n; i++){
        printf("%d ", v[i]);
    }

    printf("\n");
    return 0;
}