/*
* UVA_10905.cpp
*
* Created on: 2013年11月4日
* Author: Administrator
*/
#include <iostream>
#include <cstdio>
#include <string>
#include <algorithm>
using namespace std;
const int maxn = 55;
bool cmp(const string& a , const string& b){//按照串值递减的顺序设计比较函数
return a+b>b+a;
}
int main(){
int n;
string a[maxn];
// string b = "123";
// string c = "321";
// cout<<b+c<<endl; b+c : 123321
while(scanf("%d",&n)!=EOF,n){
int i;
for(i = 0 ; i < n ; ++i){
cin >> a[i];
}
sort(a,a+n,cmp);
for(i = 0 ; i < n ; ++i){
cout<<a[i];
}
cout<<endl;
}
return 0;
}