#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
const int MAX_NUM = 1000;
/**
* 特殊排序--华中科技大学
*/
int main() {
int n;
while (cin >> n) {
int num[MAX_NUM];
for (int i = 0; i < n; ++i) {
cin >> num[i];
}
if (n == 1) {
//特殊情况,只有一个整数,那自己就是最大值
cout << num[n - 1] << endl;
cout << "-1" << endl;
return 0;
}
//排序
sort(num, num + n);
//升序序列的最后面的值一定是最大值
int max = num[n - 1];
//输出最大值
cout << max << endl;
/*
* num[n-1]是最大值,不必输出
* 因此,循环到n-2即可
*/
for (int j = 0; j < n - 1; ++j) {
if (j != n - 2) {
cout << num[j] << " ";
} else {
//最后一个不需要空格,但是需要换行
cout << num[j] << endl;
}
}
}
return 0;
}