#include<iostream>#include<istream>#include<sstream>#include<vector>#include<stack>#include<list>#include<map>#include<set>#include<deque>#include<queue>#include<cstring>#include<unordered_map>#include<unordered_set>#include<algorithm>#include<numeric>#include<chrono>#include<ctime>#include<cmath>#include<cctype>#include<string>#include<cstdio>#include<iomanip>#include<thread>#include<mutex>#include<condition_variable>#include<functional>#include<iterator>usingnamespace std;constint maxn =54;
string str[maxn];int n;boolcmp(string& a, string& b){return a + b > b + a;}intmain(){while(cin >> n && n){for(int i =0; i < n; i++) cin >> str[i];sort(str, str + n,cmp);for(int i =0; i < n; i++) cout<<str[i];
cout << endl;}return0;}