#include <bits/stdc++.h>

using namespace std;
typedef long long ll;
ll binarnapretraga(ll a[],ll n,ll x,ll l){
    ll d=n-1,s;
    while(l<=d){
        s=l+(d-l)/2;//l/2+d/2
        if(a[s]==x)
            return s;
       else if(x<a[s])
            d=s-1;
        else
            l=s+1;
    }
    return -1;
}
int podeli(ll a[],ll l,ll d){
    int pivot=l,k=l,i;
    for(i=l+1;i<=d;i++)
        if(a[i]>=a[pivot]){
                k++;
        swap(a[i],a[k]);
    }
    swap(a[k],a[pivot]);
    return k;
}
void quick(ll a[],ll l,ll d){
    if(l<d){
        ll poz=podeli(a,l,d);
        quick(a,poz+1,d);
        quick(a,l,poz-1);
    }

}
void quickSort(ll a[],ll n){
    quick(a,0,n-1);
}
void zamena(ll n,ll b[],ll a[]){
    for(ll i=0;i<n;i++){
        if(b[i]!=a[i]){
           ll  pom=binarnapretraga(a,n,b[i],0),ind;
           do{
             ind =pom;
             pom=binarnapretraga(a,n,b[i],pom+1);
           }while(pom!=-1);
          swap(a[i],a[ind]);
          return;
        }
    }
    swap(a[n-1],a[n-2]);

}

int main()
{
    ll n;
    cin >> n;
    ll a[n+10],b[n+10];
    for(ll i=0;i<n;i++) {
        cin >> a[i];
        b[i]=a[i];
    }
    if(n==2) swap(a[0],a[1]);
    else {

            quick(b,0,n-1);
            zamena(n,b,a);
    }
      for(ll i=0;i<n;i++)
                cout << a[i] << " ";
             cout << '\n';
}