import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		int n = sc.nextInt();
		int l = sc.nextInt(); // 使用しない

		String[] s = new String[n];
		for (int i = 0; i < s.length; i++) {
			s[i] = sc.next();
		}
		sc.close();

		int imin;
		for (int i = 0; i < s.length - 1; i++) {
			imin = i;
			for (int j = i + 1; j < s.length; j++) {
				if (s[imin].compareTo(s[j]) > 0) {
					imin = j;
				}
			}
			if (imin != i) {
				exchange(s, imin, i);
			}
		}

		String sum = "";
		for (String str : s) {
			sum += str;
		}

		System.out.println(sum);
	}

	public static void exchange(String[] s, int a, int b) {
		String str = s[a];
		s[a] = s[b];
		s[b] = str;
	}

}

/tmp/hf-datasets-cache/medium/datasets/42704881117311-config-parquet-and-info-qiankunmu-Project_CodeNet-896c9d36/hub/datasets--qiankunmu--Project_CodeNet_Python800_and_Java250/snapshots/c899fde44a77ba1cc14973ed3de064e4ff3aadc7/Project_CodeNet_Java250.tar.gz