#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define INF_MIN 100000000 #define INF 1145141919 #define INF_MAX 2147483647 #define LL_MAX 9223372036854775807 #define EPS 1e-10 #define PI acos(-1) #define LL long long using namespace std; #define MAX_N 51 int N; string str[MAX_N]; priority_queue, greater > que; int main(){ cin >> N; for(int i = 0; i < N; i++){ cin >> str[i]; str[i] += 'z' + 1; que.push(str[i]); } stringstream ans; while(que.size()){ string S = que.top(); que.pop(); ans << S[0]; S.erase(0,1); if(S.length() > 1) que.push(S); } cout << ans.str() << endl; return 0; }