#include <bits/stdc++.h>
using namespace std;
int N;
vector<string> A[26];
bool cmp(const string& lhs, const string& rhs) { return lhs + rhs < rhs + lhs; }
bool wrap(const string& lhs, const string& rhs) {
  bool r = cmp(lhs, rhs);
  return r;
}
int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  cin >> N;
  for (int i = 0; i < (N); i++) {
    string s;
    cin >> s;
    A[s[0] - 'a'].push_back(s);
  }
  for (int i = 0; i < (26); i++) {
    sort((A[i]).begin(), (A[i]).end(), wrap);
    for (auto&& s : A[i]) {
      cout << s;
    }
  }
  cout << endl;
  return 0;
}
