//Microsoft (R) C/C++ Optimizing Compiler Version 19.00.23506 for x64

#include <iostream>
#include <vector>
#include <algorithm>
#include <functional>
using namespace std;

int main() {
    int n;
    cin >> n;
    
    vector<int> knjige(n), knjige2(n);
    
    for (int i = 0; i < n; i++) { cin >> knjige[i]; knjige2[i] = knjige[i]; }
    
    sort(knjige2.begin(), knjige2.end(), greater<int>());
    
    for (int k = 0; k < n; k++) {
        if (knjige[k] != knjige2[k]) {
            
            int stari = knjige[k], novi = knjige2[k];
            
            knjige[k] = novi;
            
            for (int j = n - 1; j >= 0; j--) {
                if (knjige[j] == novi) {
                    knjige[j] = stari;
                    break;
                }
            }
            
            for (int j = 0; j < n; j++) cout << knjige[j] << " ";
            cout << endl;
            
            return 0;
        }
    }
    
    int predzadnji = knjige[n - 2];
    knjige[n - 2] = knjige[n - 1];
    knjige[n - 1] = predzadnji;
        
    for (int j = 0; j < n; j++) cout << knjige[j] << " ";
    cout << endl;
    
    return 0;
}