#include <bits/stdc++.h>
using namespace std;
const int MAXLEN = 52;
const int N = 50006;
char tmp1[MAXLEN << 1];
char tmp2[MAXLEN << 1];
class Item {
 public:
  char str[MAXLEN];
  bool operator<(const Item& other) const {
    strcpy(tmp1, this->str);
    strcat(tmp1, other.str);
    strcpy(tmp2, other.str);
    strcat(tmp2, this->str);
    if (strcmp(tmp1, tmp2) < 0) return true;
    return false;
  }
};
Item s[N];
int main() {
  int n;
  scanf("%d", &n);
  for (int i = 0; i < n; i++) {
    scanf("%s", s[i].str);
  }
  sort(s, s + n);
  for (int i = 0; i < n; i++) {
    printf("%s", s[i].str);
  }
  putchar('\n');
  return 0;
}
