#include <iostream>
using namespace std;
#include <algorithm>

int main()
{
	int n, max, se, te, fe, pe, xe, ve, oe, ne, a;
	cin >> n;
	int* array = new int[n];

	for (int i = 0; i < n; i++) {
		cin >> array[i];
	}
	max = max_element(array, array + n) - array;
	if (n != 2) {
		if (max != 0) {
			swap(array[max], array[0]);
		}
		else { 
			se = INT_MIN;
			for (int i = 0; i < n; i++) {
				if (array[i] > se&& array[i] < array[max]) {
					se = array[i];
					a = i;
				}
			}
			if (a != 1) {
				swap(array[a], array[1]);
			}
			else {
				te = INT_MIN;
				for (int i = 0; i < n; i++) {
					if (array[i] > te && array[i] < se) {
						te = array[i];
						a = i;
					}
				}
				if (a != 2) {
					swap(array[a], array[2]);
				}
				else {
					fe = INT_MIN;
					for (int i = 0; i < n; i++) {
						if (array[i] > fe && array[i] < te) {
							fe = array[i];
							a = i;
						}
					}
					if (a != 3) {
						swap(array[a], array[3]);
					}
					else {
						pe = INT_MIN;
						for (int i = 0; i < n; i++) {
							if (array[i] > pe&& array[i] < fe) {
								pe = array[i];
								a = i;
							}
						}
						if (a != 4) {
							swap(array[a], array[4]);
						}
						else {
							xe = INT_MIN;
							for (int i = 0; i < n; i++) {
								if (array[i] > xe&& array[i] < pe) {
									xe = array[i];
									a = i;
								}
							}
							if (a != 5) {
								swap(array[a], array[5]);
							}
							else {
								ve = INT_MIN;
								for (int i = 0; i < n; i++) {
									if (array[i] > ve&& array[i] < xe) {
										ve = array[i];
										a = i;
									}
								}
								if (a != 6) {
									swap(array[a], array[6]);
								}
								else {
									oe = INT_MIN;
									for (int i = 0; i < n; i++) {
										if (array[i] > oe&& array[i] < ve) {
											oe = array[i];
											a = i;
										}
									}
									if (a != 7) {
										swap(array[a], array[7]);
									}
									else {
										ne = INT_MIN;
										for (int i = 0; i < n; i++) {
											if (array[i] > ne&& array[i] < oe) {
												ne = array[i];
												a = i;
											}
										}
										if (a != 8) {
											swap(array[a], array[8]);
										}
										else {
											swap(array[-1], array[-2]);
										}
									}
								}
							}
						}
					}
				}
			}
		}
	}
	else {
		swap(array[0], array[1]);
	}
	for (int z = 0; z < n; z++) {
		cout << array[z] << ' ';
	}
}