#include<bits/stdc++.h>
using namespace std;
struct num
{
char n[12];
void scan()
{
int i;
char c;
memset(n,0,sizeof(n));
scanf("%c",&c);
for (i=0;c!=' ' && c!='\n';i++)
{
n[i]=c;
scanf("%c",&c);
}
}
};
bool cmp(num a,num b)
{
int i,j,lena,lenb,len;
bool l;
lena=strlen(a.n);
lenb=strlen(b.n);
if (lena>lenb) len=lena;
else len=lenb;
for (i=0;i<len;i++)
{
if(a.n[i]!=b.n[i]) return a.n[i]>b.n[i];
}
return 0;
}
int main()
{
num a[21];
int i,j,n;
scanf("%d",&n);
for (i=0;i<=n;i++)
{
a[i].scan();
}
sort(a,a+n+1,cmp);
for (i=0;i<n;i++)
{
printf("%s",a[i].n);
}
return 0;
}