#include <bits/stdc++.h>
using namespace std;
struct slog {
int vr; int id;
}b[1000005];
bool po_vrednosti (slog a,slog c){
return a.vr>c.vr;
}
int n,a[1000005],k;
int main () {
scanf("%d",&n);
for (int i=1;i<=n;i++){
    scanf("%d",&a[i]);
    b[i].vr=a[i];
    b[i].id=i;
}
sort(b+1,b+1+n,po_vrednosti);
for (int i=1;i<=n;i++){
    if (b[i].vr!=a[i]){
        swap(a[i],a[b[i].id]);
        k=1;
        break;
    }
}
if (k==0){
    swap(a[n-1],a[n]);
}
for (int i=1;i<=n;i++){
    printf("%d ",a[i]);
}
printf("\n");
return 0;
}