#include <bits/stdc++.h>
using namespace std;

int main() {
    long long n;
    scanf ("%lld",&n);
    vector<int> a;
    int p,pp,maxi;
    long long maxii;
    p=9;
    bool nerastuci=true;
    bool pomoc=false;
    for (long long i=0;i<n;i++) {
        pp=p;
        scanf(" %d",&p);
        a.push_back(p);
        if (nerastuci==false) {
            if (p>=maxi) {
                maxii=i;
                maxi=p;
            }
            continue;
        }
        if (p>pp) {
            nerastuci=false;
            maxi=p;
            maxii=i;
        }
    }
    if (nerastuci==false) {
        for (long long i=0; i<n; i++) {
            if (pomoc==false&&a[i]<maxi) {
                printf("%d ",maxi);
                p=a[i];
                pomoc=true;
                continue;
            }
            if (i==maxii) {
                printf("%d ",p);
                continue;
            }
            printf("%d ",a[i]);
        }
    }
    else {
        if (n<=10) {
            for (long long i=0; i<n; i++) {
                if (i<n-2) {
                    if (a[i]==a[i+1]) {
                        pomoc=true;
                    }
                    printf("%d ",a[i]);
                }
                else {
                    if (pomoc==true) {
                        printf("%d %d",a[i],a[i+1]);
                        break;
                    }
                    else {
                        printf("%d %d",a[i+1],a[i]);
                        break;
                    }
                }
            }
        }
        else {
            for (long long i=0; i<n; i++) {
                printf("%d ",a[i]);
            }
        }
    }
}