#include <iostream>
#include <time.h>

using namespace std;

struct {
    int m;
    int it;
} kanada;

int main()
{
    int n,mc=0;
    cin >>n;
    int s[n];
    for(int i=0;i<n;i++)
    {
        cin>>s[i];
    }
    if(n==2){
        cout<<s[1]<<" "<<s[0]<<endl;
    }
    else{
    bool done=false;

    for(int i=0;i<n;i++)
    {
        if(done)
        {
            i--;
            int p=kanada.m;
            s[kanada.it]=s[i];
            s[i]=p;
            break;
        }
        kanada.it=i;
        kanada.m=s[i];
        for(int j=i+1;j<n;j++)
        {
            if(s[i]<s[j])
            {
                if(s[j]>kanada.m)
                {
                    kanada.m=s[j];
                    kanada.it=j;
                }
                done=true;
            }

        }
    }
    //biggest number
    if(!done)
    {
        int p=s[n-1];
        s[n-1]=s[n-2];
        s[n-2]=p;
    }
    for(int i=0;i<n;i++)cout<<s[i]<<" ";
    }
    return 0;
}