1 #include <iostream>
2 #include <algorithm>
3 #include <string>
4 #include <queue>
5 #include <stdio.h>
6 #include <string.h>
7 #include <stdlib.h>
8 using namespace std;
9 struct node
10 {
11 int Len;
12 int n;
13 friend bool operator <(node a,node b)
14 {
15 int Len1,Len2,j,i;
16 for(i=0,Len1=1;i<a.Len;i++)Len1*=10;
17 for(i=0,Len2=1;i<b.Len;i++)Len2*=10;
18 return a.n*Len2+b.n<b.n*Len1+a.n;
19 }
20 };
21 int main()
22 {
23 int N,i;
24 int Num[10086];
25 while(scanf("%d",&N)!=EOF)
26 {
27 priority_queue<node>ID;
28 node num;
29 int sign,j;
30 for(i=0;i<N;i++)
31 {
32 scanf("%d",&num.n);
33 j=num.n;sign=0;
34 while(j)
35 {
36 sign++;
37 j/=10;
38 }
39 num.Len=sign;
40 ID.push(num);
41 }
42 for(i=0;i<N;i++)
43 {
44 printf("%d",ID.top().n);
45 ID.pop();
46 }putchar(10);
47 }
48 return 0;
49 }