#include<stdio.h>
int main(){
int a;
int i;
int x;//最小值下标中间转换值
int d;//最大值下标中间转换值
scanf("%d",&a);
int b[a];
for(i=0;i<a;i++){
scanf("%d",&b[i]);
}
int c=a-1;
x=c;
for(i=0;i<c;i++){//让最小值到第一位置,从尾巴开始
if(b[c-i-1]<b[x]){//通过下标实现
x=c-i-1;
}
}
int r=b[0];//在这里实现交换最小值与第一位交换
b[0]=b[x];
b[x]=r;
d=c;
for(i=0;i<c;i++){//让最大值到最后一位,尾巴开始
if(b[c-i-1]>b[d]){//通过下标实现
d=c-i-1;
}
}
int e=b[c];//在这里实现最大值与最后一位交换
b[c]=b[d];
b[d]=e;
for(i=0;i<a;i++){
printf("%d ",b[i]);
}
return 0;
}