#include #include #include #include #include #include #include #include #include #include static const int MOD = 1000000007; using ll = long long; using u32 = uint32_t; using namespace std; template constexpr T INF = ::numeric_limits::max() / 32 * 15 + 208; template using GPQ = priority_queue, greater>; int main() { int n; cin >> n; GPQ Q; for (int i = 0; i < n; ++i) { string s; cin >> s; s += 127; Q.emplace(s); } string ans; while(!Q.empty()){ string s = Q.top(); Q.pop(); if(s.front() != 127){ ans += s.front(); s = s.substr(1, 100); Q.emplace(s); } } cout << ans << "\n"; return 0; }