#include using namespace std; using i64 = int64_t; using vi = vector; using vvi = vector; int main() { priority_queue, vector>, greater>> que; int n; cin >> n; string ret = ""; for (int i = 0; i < n; i++) { string s; cin >> s; s += 'z' + 1; deque deq; for (char c: s) { deq.push_back(c); } que.push(deq); } while (que.size()) { auto t = que.top(); ret += t.front(); que.pop(); t.pop_front(); if (t.size() > 1) { que.push(t); } } cout << ret << endl; }