#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=5e4+3;
int n;
struct node{
string s;
}a[N];
bool cmp(node x,node y){
return x.s+y.s<y.s+x.s;
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i].s;
sort(a+1,a+n+1,cmp);
for(int i=1;i<=n;i++) cout<<a[i].s;
return 0;
}
190D - Non-Secret Cypher | 1721B - Deadly Laser |
1721C - Min-Max Array Transformation | 1721A - Image |
1180C - Valeriy and Deque | 557A - Ilya and Diplomas |
1037D - Valid BFS | 1144F - Graph Without Long Directed Paths |
1228A - Distinct Digits | 355B - Vasya and Public Transport |
1230A - Dawid and Bags of Candies | 1530A - Binary Decimal |
1472D - Even-Odd Game | 441C - Valera and Tubes |
1328E - Tree Queries | 265A - Colorful Stones (Simplified Edition) |
296A - Yaroslav and Permutations | 967B - Watering System |
152A - Marks | 1398A - Bad Triangle |
137A - Postcards and photos | 1674D - A-B-C Sort |
334A - Candy Bags | 855A - Tom Riddle's Diary |
1417A - Copy-paste | 1038A - Equality |
1061A - Coins | 1676E - Eating Queries |
1447A - Add Candies | 1721D - Maximum AND |