#include<bits/stdc++.h>
using namespace std;
int n,t;
string a[21];
bool cmp(string x,string y){
if(x.size()>y.size()){
for(int i=0;i<y.size();i++){
if(x[i]>y[i]) return 1;
else if(x[i]<y[i]) return 0;
else continue;
}
for(int i=y.size();i<x.size();i++){
if(x[i]>y[i-x.size()]) return 1;
else if(x[i]>y[i-x.size()]) return 0;
else continue;
}
return 1;
}else if(x.size()<y.size()){
for(int i=0;i<x.size();i++){
if(x[i]>y[i]) return 1;
else if(x[i]<y[i]) return 0;
else continue;
}
for(int i=x.size();i<y.size();i++){
if(y[i]<x[i-x.size()]) return 1;
else if(y[i]>x[i-x.size()]) return 0;
else continue;
}
return 1;
}else return x>y;
}
int toi(string x){
int y=0;
for(int i=0;i<x.size();i++){
y=y*10+int(x[i]);
}
}
string str(int x){
string y="";
int t=0;
while(x>0){
t=x%10;
x=x/10;
y=char(t+48)+y;
}
return y;
}
int main(){
cin>>n;
for(int i=0;i<n;i++){
cin>>t;
a[i]=str(t);
//cout<<a[i]<<endl;
}
sort(a,a+n,cmp);
for(int i=0;i<n;i++){
cout<<a[i];
}
return 0;
}