#include <iostream>

using namespace std;

int maksimum(int poc,int n,int a[]){
	int p=0,maks=0,ip;
	if(poc=n)
	return a[n-1];
	for(int i=poc;i<n;i++){
		if(a[i]>=maks){
			maks=a[i];
			ip=i;
		}
	}
	for(int i=poc;i<=ip;i++){
		if(a[i]!=maks){
			p=1;
			break;
		}
	}
	if(p==1)
	return maks;
	else{
		return maksimum(ip+1,n,a);
	}
}

int main(){
	int n,maks,p,ip;
	cin>>n;
	int a[n];
	for(int i=0;i<n;i++){
		cin>>a[i];
		}
	maks=maksimum(0,n,a);
	for(int i=0;i<n;i++){
		if(a[i]==maks)
		ip=i;
	}
	for(int i=0;i<n;i++){
		if(a[i]<maks){
			p=a[i];
			a[i]=a[ip];
			a[ip]=p;
			break;
		}
		if(i==n-1){
			p=a[i];
			a[i]=a[i-1];
			a[i-1]=p;
		}
	}
	for(int i=0;i<n;i++){
		cout<<a[i]<<" ";
	}
}