#include <iostream>
#include <algorithm>
using namespace std;
int nadji(int x, int a[], int n, int j)
{
    for(int i=j+1; i<n; i++){
        if(a[i]==x)
            return i;
    }
}
void zameni(int *a, int *b)
{
    int pom=*a;
    *a=*b;
    *b=pom;
}
int main()
{
    int n, r;
    bool p=true;
    cin>>n;
    int a[n], b[n];
    for(int i=0; i<n; i++){
        cin>>a[i];
        b[i]=a[i];
    }
    sort(b, b+n);
    for(int i=0; i<n; i++){
        if(a[i]!=b[n-i-1]){
            r=nadji(b[n-i-1], a, n, i);
            zameni(&a[i], &a[r]);
            p=false;
            break;
        }
    }
    if(p)
        zameni(&a[n-1], &a[n-2]);
    for(int i=0; i<n; i++)
        cout<<a[i]<<" ";
    return 0;
}