#include <bits/stdc++.h>
using namespace std;
const int N = 5e4 + 11;
char str[N][52];
int len[N];
int arr[N];
int n;
char s1[105], s2[105];
bool cmp(const int& a, const int& b) {
  int x = 0, y = 0;
  for (int i = 0; i < len[a]; ++i) s1[x++] = str[a][i];
  for (int i = 0; i < len[b]; ++i) s1[x++] = str[b][i];
  for (int i = 0; i < len[b]; ++i) s2[y++] = str[b][i];
  for (int i = 0; i < len[a]; ++i) s2[y++] = str[a][i];
  for (int i = 0; i < x; ++i) {
    if (s1[i] != s2[i]) {
      return s1[i] < s2[i];
    }
  }
  return false;
}
void work() {
  for (int i = 0; i < n; ++i) arr[i] = i;
  for (int i = 0; i < n; ++i) len[i] = strlen(str[i]);
  sort(arr, arr + n, cmp);
}
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; ++i) scanf("%s", str[i]);
  work();
  for (int i = 0; i < n; ++i) printf("%s", str[arr[i]]);
  printf("\n");
}
