#include<cstdio>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;
bool cmp(string s1, string s2) {
	if (s1.size() < s2.size())
		return true;
	else if (s1.size() == s2.size() && s1 < s2)
		return true;
	else
		return false;
}
int main() {
	int n;
	scanf("%d", &n);
	vector<string> vec;
	for (int i = 0; i <= n; i++) {
		char buffer[1000];
		fgets(buffer, 1000, stdin);
		string str = buffer;
		vec.push_back(str);
	}
	sort(vec.begin()+1, vec.end(),cmp);
	for (int i = 1; i <= n; i++) {
		printf("%s", vec[i].c_str());
	}
}