#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin >> n;
vector < int > v(n);
for (int i = 0; i < n; i++) {
cin >> v[i];
}
// 先升冪排序並輸出第一行
vector < int > sorted = v;
sort(sorted.begin(), sorted.end());
for (int i = 0; i < n; i++) {
cout << sorted[i] << (i + 1 == n ? '\n' : ' ');
}
// 去除重複,產生降冪
sorted.erase(unique(sorted.begin(), sorted.end()), sorted.end());
reverse(sorted.begin(), sorted.end());
// 輸出第二行
for (int i = 0; i < sorted.size(); i++) {
cout << sorted[i] << (i + 1 == sorted.size() ? '\n' : ' ');
}
return 0;
}