#include<cstdio>
#include<math.h>
using namespace std;
unsigned int n;
unsigned long tmp;
unsigned long a[21];
bool compare(int,int);
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%ld",&a[i]);
for(int i=1;i<n;i++)
{
for(int j=i+1;j<=n;j++)
{
if(a[i]>a[j]?compare(a[i],a[j]):!compare(a[j],a[i]))
{
tmp=a[i];
a[i]=a[j];
a[j]=tmp;
}
}
}
for(int i=1;i<=n;i++) printf("%ld",a[i]);
printf("\n");
return 0;
}
bool compare(int u,int v)
{
int l1=floor(log10(u)),l2=floor(log10(v));
int h1=0,h2=0,x,y;
while(h1<=x)
{
x=int(u/pow(10,l1-h1))%10;
y=int(v/pow(10,l2-h2))%10;
if(x>y) return false;
else if(x<y) return true;
else
{
h1++;
if(h2==l2) h2=0;
else h2++;
}
}
}