# [NOIP1998 提高组] 拼数
#include<bits/stdc++.h>
using namespace std;
int n;
string ans="";//定义一个空字符
struct stu{
string s;
}a[30];
bool cmp(stu a,stu b){
return a.s+b.s>b.s+a.s;
}
int main(){
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i].s;
}
sort(a,a+n,cmp);//排序前后字符如何最大化
for(int i=0;i<n;i++){
ans+=a[i].s;
}
cout<<ans<<endl;
return 0;
}