import java.util.*;

public class Main{
  public static void main(String[] arg){
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt();
		int M = sc.nextInt();
		String ans = "";
		List<String> list = new ArrayList<>();
		for(int i = 0; i < N; i++){
			list.add(sc.next());
		}
		Collections.sort(list);
		for(int j = 0; j < N; j++){
			ans += list.get(j);
		}
		System.out.println(ans);
	}
} import java.util.*; util.* java public class Main{
  public static void main(String[] arg){
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt();
		int M = sc.nextInt();
		String ans = "";
		List<String> list = new ArrayList<>();
		for(int i = 0; i < N; i++){
			list.add(sc.next());
		}
		Collections.sort(list);
		for(int j = 0; j < N; j++){
			ans += list.get(j);
		}
		System.out.println(ans);
	}
} Main public static void main(String[] arg){
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt();
		int M = sc.nextInt();
		String ans = "";
		List<String> list = new ArrayList<>();
		for(int i = 0; i < N; i++){
			list.add(sc.next());
		}
		Collections.sort(list);
		for(int j = 0; j < N; j++){
			ans += list.get(j);
		}
		System.out.println(ans);
	} main {
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt();
		int M = sc.nextInt();
		String ans = "";
		List<String> list = new ArrayList<>();
		for(int i = 0; i < N; i++){
			list.add(sc.next());
		}
		Collections.sort(list);
		for(int j = 0; j < N; j++){
			ans += list.get(j);
		}
		System.out.println(ans);
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int N = sc.nextInt(); N sc.nextInt() sc.nextInt sc int M = sc.nextInt(); M sc.nextInt() sc.nextInt sc String ans = ""; ans "" List<String> list = new ArrayList<>(); list new ArrayList<>() for(int i = 0; i < N; i++){
			list.add(sc.next());
		} int i = 0; int i = 0; i 0 i < N i N i++ i++ i {
			list.add(sc.next());
		} {
			list.add(sc.next());
		} list.add(sc.next()) list.add list sc.next() sc.next sc Collections.sort(list) Collections.sort Collections list for(int j = 0; j < N; j++){
			ans += list.get(j);
		} int j = 0; int j = 0; j 0 j < N j N j++ j++ j {
			ans += list.get(j);
		} {
			ans += list.get(j);
		} ans += list.get(j) ans list.get(j) list.get list j System.out.println(ans) System.out.println System.out System System.out ans String[] arg arg public class Main{
  public static void main(String[] arg){
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt();
		int M = sc.nextInt();
		String ans = "";
		List<String> list = new ArrayList<>();
		for(int i = 0; i < N; i++){
			list.add(sc.next());
		}
		Collections.sort(list);
		for(int j = 0; j < N; j++){
			ans += list.get(j);
		}
		System.out.println(ans);
	}
} public class Main{
  public static void main(String[] arg){
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt();
		int M = sc.nextInt();
		String ans = "";
		List<String> list = new ArrayList<>();
		for(int i = 0; i < N; i++){
			list.add(sc.next());
		}
		Collections.sort(list);
		for(int j = 0; j < N; j++){
			ans += list.get(j);
		}
		System.out.println(ans);
	}
} Main
import java.util.*;

public class Main{
  public static void main(String[] arg){
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt();
		int M = sc.nextInt();
		String ans = "";
		List<String> list = new ArrayList<>();
		for(int i = 0; i < N; i++){
			list.add(sc.next());
		}
		Collections.sort(list);
		for(int j = 0; j < N; j++){
			ans += list.get(j);
		}
		System.out.println(ans);
	}
}
