#include <bits/stdc++.h>
using namespace std;
const int maxn = 10000 * 6;
char arr[maxn];
int p[maxn];
struct node {
  char s[55];
  int l;
} no[maxn];
double ans;
bool cmp(const string &a, const string &b) { return a + b < b + a; }
int main() {
  string s[maxn];
  int n;
  scanf("%d", &n);
  for (int i = 0; i < n; i++) cin >> s[i];
  sort(s, s + n, cmp);
  for (int i = 0; i < n; i++) cout << s[i];
  cout << endl;
  return 0;
}
