#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
struct edge
{
	char a[120];
	int x;
};
int main(void)
{
	int n, l, i, j;
	edge s[300];
	scanf("%d %d", &n, &l);
	for(i = 0; i < n; i++)
	{
		scanf("%s", s[i].a);
	}
	edge r;
	for(i = 0; i < (n-1); i++)
	{
		for(j = (i+1); j < n; j++)
		{
			if(strcmp(s[i].a, s[j].a) > 0)
			{
				r = s[i];
				s[i] = s[j];
				s[j] = r;
			}
		}
	}
	for(i = 0; i < n; i++)
	{
		printf("%s", s[i].a);
	}
	return 0;
}