#include <bits/stdc++.h>
using namespace std;
int n, st[30], in[30];
map<char, char> m;
string s[107];
string ans = "";
void solve() {
  int i, j;
  for (i = 0; i < 30; i++) {
    in[i] = 0;
    st[i] = 0;
  }
  scanf("%d", &n);
  for (i = 0; i < n; i++) {
    cin >> s[i];
    for (j = 0; j < s[i].size(); j++) {
      m[s[i][j]] = '0';
      st[s[i][j] - 'a'] = 1;
      if (j != 0) in[s[i][j] - 'a']++;
    }
  }
  for (i = 0; i < n; i++) {
    for (j = 1; j < s[i].size(); j++) {
      m[s[i][j - 1]] = s[i][j];
    }
  }
  for (char c = 'a'; c <= 'z'; c++) {
    if (in[c - 'a'] == 0 && st[c - 'a'] == 1) {
      char q = c;
      while (q != '0') {
        ans += q;
        q = m[q];
      }
    }
  }
  cout << ans;
}
int main() {
#pragma comment(linker, "/STACK:268435456"
  solve();
  return 0;
}
