#include <bits/stdc++.h>
using namespace std;
const long long LINF = 0x3f3f3f3f3f3f3f3f;
const long long NLINF = 0xf7f7f7f7f7f7f7f7;
const int INF = 0x3f3f3f3f, NINF = 0xf7f7f7f7;
const int MOD1 = 1e9 + 7, MOD2 = 1e9 + 9;
const int N = 5e4 + 10;
string s[N];
int n;
bool cmp(string &a, string &b) { return a + b < b + a; }
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) {
    s[i].resize(50);
    scanf("%s", s[i].c_str());
    s[i].resize(strlen(s[i].c_str()));
  }
  sort(s + 1, s + 1 + n, cmp);
  for (int i = 1; i <= n; i++) printf("%s", s[i].c_str());
  puts("");
}
