import java.util.Arrays;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		String[] NLarr = scan.nextLine().split(" ");
		
		//N개의 string을 입력받는다
		int N = Integer.parseInt(NLarr[0]);
		
		//각 string은 L의 길이를 갖는다
		int L = Integer.parseInt(NLarr[1]);
		
		
		//N개의 string을 저장할 배열을 생성한다.
		String[] strArr = new String[N];
		String str = "";
		
		//N개의 string을 입력받아 배열을 초기화한다.
		for(int i=0; i<N;){
			str = scan.next().toLowerCase();
			if(str.length() == L){
				strArr[i] = str;
				i++;
			}
		}
		
		scan.close();
			
		Arrays.sort(strArr);
		
		//최종 출력
		String print="";
		
		for(String _print : strArr){
			print += _print;			
		}
		
		System.out.println(print);
	}
}
/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