#include <iostream>
#include<bits/stdc++.h>
using namespace std;
int pozpos[11],a[1000001],br[11],br1[11];
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    bool reseno=false;
    int n,i,pom,maximum=0;
    cin >> n;
    for(i=0;i<n;i++)
    {
        cin >> a[i];
        pozpos[a[i]]=i;
        br[a[i]]++;
        br1[a[i]]++;
        if(a[i]>maximum)
            maximum=a[i];
    }
    i=0;
    while(i<n && reseno==false)
    {
        if(a[i]==maximum)
        {
            br[maximum]--;
            if(br[maximum]==0)
            {
                while(br[maximum]==0 && maximum>=0)
                    maximum--;
            }
            i++;
        }
        else
        {
            pom=a[i];
            a[i]=maximum;
            a[pozpos[maximum]]=pom;
            reseno=true;
            break;
        }
    }
    if(reseno==false)
    {
        bool moguce=false;
        for(i=0;i<=9;i++)
            if(br1[i]>1)
            {
                moguce=true;
                break;
            }
        if(moguce==false)
        {
            pom=a[n-2];
            a[n-2]=a[n-1];
            a[n-1]=pom;
        }
    }
    for(i=0;i<n;i++)
        cout << a[i] << " ";
    //cout << "Hello world!" << endl;
    return 0;
}