#include <bits/stdc++.h>
using namespace std;
int found(vector <int> a , int m,int i,int n)
{
    for(int j = i;j<n;j++)
    {
        if(a[j]==m)
            return j;
    }


}
int main()
{
    bool x=true;
    int res , res1;
    int n , m;
    scanf("%d",&n);
    vector <int> pravi;
    vector <int> kopija;
for(int i = 0;i<n;i++)
{
    scanf("%d" , &m);
    pravi.push_back(m);
    kopija.push_back(m);
}
sort(kopija.begin(),kopija.end(),greater<int>());
for(int i = 0;i<n && x;i++)
{
    if(kopija[i] > pravi[i])
    {
            res = i;
            res1= found(pravi,kopija[i],i,n);
            swap(pravi[res], pravi[res1]);
            x=false;
    }
}
for(int i = 0;i<n && x;i++)
{
    if(kopija[i] == kopija[i+1])
    {
            res = i;
            res1= i+1;
            swap(pravi[res], pravi[res1]);
            x=false;
    }
}
if(x)
{
    swap(pravi[n-2],pravi[n-1]);
}


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

    return 0;
}