#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int n;
cin >> n;
int a[105];
for (int i = 0; i < n; ++i) cin >> a[i];
int minIdx = 0, maxIdx = 0;
for (int i = 1; i < n; ++i) {
if (a[i] < a[minIdx]) minIdx = i;
if (a[i] > a[maxIdx]) maxIdx = i;
}
swap(a[minIdx], a[0]); // 最小值移到最前
// 如果最大值恰好是原首元素,它已被换到 minIdx
if (maxIdx == 0) maxIdx = minIdx;
swap(a[maxIdx], a[n - 1]); // 最大值移到最后
for (int i = 0; i < n; ++i) {
cout << a[i] << (i == n - 1 ? '\n' : ' ');
}
return 0;
}
/**************************************************************
Problem: 1212
User: 231308061
Language: C++
Result: Accepted
Time:8 ms
Memory:2072 kb
****************************************************************/