#include<stdio.h>
#include<stdlib.h>
int A[1000000];
int main(){
	long long N,i,maxp=0,minp=0;
	int max=0,min=9,pom;
	scanf("%lld",&N);
	if(N==2){
		scanf("%d%d",&A[0],&A[1]);
		printf("%d %d",A[1],A[0]);
	}
	else{
		for(i=0;i<N;i++){
			scanf("%d",&A[i]);
			if(A[i]>=max){
				max=A[i];
				maxp=i;
			}
			if(A[i]<min){
				min=A[i];
				minp=i;
			}
		}
		if(min==max){
			goto x;
		}
		if(A[0]!=max && max!=0){//max nije na pocetku
			pom=A[0];
			A[0]=max;
			A[maxp]=pom;
		}
		else{//max jeste na pocetku
		if(N==3){
			pom=A[2];
			A[2]=A[1];
			A[1]=pom;
		}
		else{
				for(i=1;i<N;i++){
				if(A[i]!=max){//ako imam jos maksimuma posle, fali mi slucaj ako nemam maksimuma posle onda maksimum ostatka
					pom=A[i];
					A[i]=max;
					A[maxp]=pom;
					break;
				}
			}
		}
		
		}
	x:	for(i=0;i<N;i++)
		printf("%d ",A[i]);
	}
}