#include <bits/stdc++.h>
using namespace std;
#define ll long long
void solve()
{
int n; cin >> n;
string s[n];
for (int i = 0; i < n; ++i)
cin >> s[i];
int idx[n];
for (int i = 0; i < n; ++i)
idx[i] = i;
sort(idx, idx+n, [&](int i, int j)->bool
{
return s[i] + s[j] < s[j] + s[i];
});
for (int i = 0; i < n; ++i)
cout << s[idx[i]];
}
int main()
{
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
freopen("Errors.txt", "w", stderr);
#endif
ios_base::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);
int t = 1;
// cin >> t;
while (t--)
{
solve();
if (t) cout << '\n';
}
cout << '\n';
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbGwgbG9uZyBsb25nCgoKdm9pZCBzb2x2ZSgpCnsKICAgIGludCBuOyBjaW4gPj4gbjsKICAgIHN0cmluZyBzW25dOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyArK2kpCiAgICAgICAgY2luID4+IHNbaV07CiAgICBpbnQgaWR4W25dOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyArK2kpCiAgICAgICAgaWR4W2ldID0gaTsKICAgIHNvcnQoaWR4LCBpZHgrbiwgWyZdKGludCBpLCBpbnQgaiktPmJvb2wKICAgIHsKICAgICAgICByZXR1cm4gc1tpXSArIHNbal0gPCBzW2pdICsgc1tpXTsKICAgIH0pOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyArK2kpCiAgICAgICAgY291dCA8PCBzW2lkeFtpXV07Cn0KCmludCBtYWluKCkKewojaWZuZGVmIE9OTElORV9KVURHRQogICAgZnJlb3BlbigiaW5wdXQudHh0IiwgInIiLCBzdGRpbik7CiAgICBmcmVvcGVuKCJvdXRwdXQudHh0IiwgInciLCBzdGRvdXQpOwogICAgZnJlb3BlbigiRXJyb3JzLnR4dCIsICJ3Iiwgc3RkZXJyKTsKI2VuZGlmCiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTtjaW4udGllKG51bGxwdHIpO2NvdXQudGllKG51bGxwdHIpOwogICAgaW50IHQgPSAxOwogICAgLy8gY2luID4+IHQ7CiAgICB3aGlsZSAodC0tKQogICAgewogICAgICAgIHNvbHZlKCk7CiAgICAgICAgaWYgKHQpIGNvdXQgPDwgJ1xuJzsKICAgIH0KICAgIGNvdXQgPDwgJ1xuJzsKICAgIHJldHVybiAwOwp9