#include <stdio.h>


int main()

{
	int N,i=0,p;
	scanf("%d",&N);
	int niz[N-1];
	for(i=0;i<N;i++){
		scanf("%d",&niz[i]);
	}
	if (N==2){
		p=niz[0];
		niz[0]=niz[1];
		niz[1]=p;
		i=0;
		for(i=0;i<N;i++){
		printf("%d ",niz[i]);
	}
	return 0;
	}
	i=1;
	int max=niz[0];
	for(i=1;i<N;i++){
		if(max<niz[i]) max=niz[i];
	}
	if (max!=niz[0]){
	i=1;
	while (niz[0]>niz[i]){
		i++;
	}
	if (i==(N-1)){
		p=niz[0];
		niz[0]=niz[i];
		niz[i]=p;
	}
	else{
		int q=i;
		i=q+1;
		for(i=q+1;i<N;i++){
			if (niz[q]<niz[i]) q=i;
		}	
	p=niz[0];
	niz[0]=niz[q];
	niz[q]=p;
	i=0;
	for(i=0;i<N;i++){
		printf("%d ",niz[i]);
	}
	return 0;
	}
}
else if (max=niz[0]){
	p=niz[1];
	niz[1]=niz[2];
	niz[2]=p;
	i=0;
	for(i=0;i<N;i++){
	printf("%d ",niz[i]);
	return 0;
}
}
}