#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int a[1000000];
pair<int,int> cuvam[1000000];
void ispis(int n)
{
    for (int i=0; i<n; i++)
        cout << a[i] << " ";
}

main()
{
int n;
cin >> n;
for (int i=0; i<n; i++)
    cin >> a[i];

int cur=a[n-1];
int pos=n-1;
cuvam[n-1].first=-1;
cuvam[n-1].second=n-1;

for (int i=n-2; i>=0; i--)
{
    cuvam[i].first=cur;
    cuvam[i].second=pos;
    if (a[i]>cur) { cur=a[i]; pos=i; }
}

for (int i=0; i<n; i++)
{
    int val=cuvam[i].first;
    int index=cuvam[i].second;
    if (val>a[i]) { swap(a[i],a[index]); ispis(n); return 0;}
}

for (int i=0; i<n; i++)
{
    int val=cuvam[i].first;
    int index=cuvam[i].second;
    if (val==a[i]) { ispis(n); return 0;}
}

swap(a[n-1],a[n-2]); ispis(n); return 0;

}