import java.util.*;

public class Main {
    public static void main(String[] args) throws Exception {

        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int L = sc.nextInt();
        String[] S = new String[N]; 
        
        //文字列を格納し、辞書順に並び替え
        for(int i = 0; i < N; i++)S[i] = sc.next();
        Arrays.sort(S);
        
        //可変長のクラスを利用した文字列結合
        StringBuilder bf = new StringBuilder();
        for(int i = 0; i < N; i++)bf.append(S[i]);
        
        String ans = bf.toString();
        System.out.println(ans);
    }
} import java.util.*; util.* java public class Main {
    public static void main(String[] args) throws Exception {

        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int L = sc.nextInt();
        String[] S = new String[N]; 
        
        //文字列を格納し、辞書順に並び替え
        for(int i = 0; i < N; i++)S[i] = sc.next();
        Arrays.sort(S);
        
        //可変長のクラスを利用した文字列結合
        StringBuilder bf = new StringBuilder();
        for(int i = 0; i < N; i++)bf.append(S[i]);
        
        String ans = bf.toString();
        System.out.println(ans);
    }
} Main public static void main(String[] args) throws Exception {

        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int L = sc.nextInt();
        String[] S = new String[N]; 
        
        //文字列を格納し、辞書順に並び替え
        for(int i = 0; i < N; i++)S[i] = sc.next();
        Arrays.sort(S);
        
        //可変長のクラスを利用した文字列結合
        StringBuilder bf = new StringBuilder();
        for(int i = 0; i < N; i++)bf.append(S[i]);
        
        String ans = bf.toString();
        System.out.println(ans);
    } main {

        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int L = sc.nextInt();
        String[] S = new String[N]; 
        
        //文字列を格納し、辞書順に並び替え
        for(int i = 0; i < N; i++)S[i] = sc.next();
        Arrays.sort(S);
        
        //可変長のクラスを利用した文字列結合
        StringBuilder bf = new StringBuilder();
        for(int i = 0; i < N; i++)bf.append(S[i]);
        
        String ans = bf.toString();
        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 L = sc.nextInt(); L sc.nextInt() sc.nextInt sc String[] S = new String[N]; S new String[N] N for(int i = 0; i < N; i++)S[i] = sc.next(); int i = 0; int i = 0; i 0 i < N i N i++ i++ i S[i] = sc.next(); S[i] = sc.next() S[i] S i sc.next() sc.next sc Arrays.sort(S) Arrays.sort Arrays S StringBuilder bf = new StringBuilder(); bf new StringBuilder() for(int i = 0; i < N; i++)bf.append(S[i]); int i = 0; int i = 0; i 0 i < N i N i++ i++ i bf.append(S[i]); bf.append(S[i]) bf.append bf S[i] S i String ans = bf.toString(); ans bf.toString() bf.toString bf System.out.println(ans) System.out.println System.out System System.out ans String[] args args public class Main {
    public static void main(String[] args) throws Exception {

        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int L = sc.nextInt();
        String[] S = new String[N]; 
        
        //文字列を格納し、辞書順に並び替え
        for(int i = 0; i < N; i++)S[i] = sc.next();
        Arrays.sort(S);
        
        //可変長のクラスを利用した文字列結合
        StringBuilder bf = new StringBuilder();
        for(int i = 0; i < N; i++)bf.append(S[i]);
        
        String ans = bf.toString();
        System.out.println(ans);
    }
} public class Main {
    public static void main(String[] args) throws Exception {

        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int L = sc.nextInt();
        String[] S = new String[N]; 
        
        //文字列を格納し、辞書順に並び替え
        for(int i = 0; i < N; i++)S[i] = sc.next();
        Arrays.sort(S);
        
        //可変長のクラスを利用した文字列結合
        StringBuilder bf = new StringBuilder();
        for(int i = 0; i < N; i++)bf.append(S[i]);
        
        String ans = bf.toString();
        System.out.println(ans);
    }
} Main
import java.util.*;

public class Main {
    public static void main(String[] args) throws Exception {

        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int L = sc.nextInt();
        String[] S = new String[N]; 
        
        //文字列を格納し、辞書順に並び替え
        for(int i = 0; i < N; i++)S[i] = sc.next();
        Arrays.sort(S);
        
        //可変長のクラスを利用した文字列結合
        StringBuilder bf = new StringBuilder();
        for(int i = 0; i < N; i++)bf.append(S[i]);
        
        String ans = bf.toString();
        System.out.println(ans);
    }
}
