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

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

        Scanner sc = new Scanner(System.in);
        int[] num = strToIntArray(sc.nextLine(), " ");
        String[] str = new String[num[0]];

        for(int i = 0; i < num[0]; i++) {
        	str[i] = sc.nextLine();
        }
        Arrays.sort(str);
        for(String s : str) {
        	System.out.print(s);
        }
    }

    static char[] strToCharArray(String str) {
    	char[] chAr = new char[str.length()];
    	chAr = str.toCharArray();
    	return chAr;
    }

    static String[] strToArray(String str, String delim) {
    	String[] strAr= new String[str.length()];
    	strAr = str.split(delim);
    	return strAr;
    }

    static int[] strToIntArray(String str, String delim) {
    	String[] strAr = str.split(delim);
    	int[] intAr = new int[strAr.length];
    	for(int i = 0; i < strAr.length; i++) {
    		intAr[i] = Integer.parseInt(strAr[i]);
    	}
    	return intAr;
    }

    static int toInt(String str) {
    	int num = Integer.parseInt(str);
    	return num;
    }
} import java.util.Arrays; Arrays java.util import java.util.Scanner; Scanner java.util public class Main {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        int[] num = strToIntArray(sc.nextLine(), " ");
        String[] str = new String[num[0]];

        for(int i = 0; i < num[0]; i++) {
        	str[i] = sc.nextLine();
        }
        Arrays.sort(str);
        for(String s : str) {
        	System.out.print(s);
        }
    }

    static char[] strToCharArray(String str) {
    	char[] chAr = new char[str.length()];
    	chAr = str.toCharArray();
    	return chAr;
    }

    static String[] strToArray(String str, String delim) {
    	String[] strAr= new String[str.length()];
    	strAr = str.split(delim);
    	return strAr;
    }

    static int[] strToIntArray(String str, String delim) {
    	String[] strAr = str.split(delim);
    	int[] intAr = new int[strAr.length];
    	for(int i = 0; i < strAr.length; i++) {
    		intAr[i] = Integer.parseInt(strAr[i]);
    	}
    	return intAr;
    }

    static int toInt(String str) {
    	int num = Integer.parseInt(str);
    	return num;
    }
} Main public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        int[] num = strToIntArray(sc.nextLine(), " ");
        String[] str = new String[num[0]];

        for(int i = 0; i < num[0]; i++) {
        	str[i] = sc.nextLine();
        }
        Arrays.sort(str);
        for(String s : str) {
        	System.out.print(s);
        }
    } main {

        Scanner sc = new Scanner(System.in);
        int[] num = strToIntArray(sc.nextLine(), " ");
        String[] str = new String[num[0]];

        for(int i = 0; i < num[0]; i++) {
        	str[i] = sc.nextLine();
        }
        Arrays.sort(str);
        for(String s : str) {
        	System.out.print(s);
        }
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int[] num = strToIntArray(sc.nextLine(), " "); num strToIntArray(sc.nextLine(), " ") strToIntArray sc.nextLine() sc.nextLine sc " " String[] str = new String[num[0]]; str new String[num[0]] num[0] num 0 for(int i = 0; i < num[0]; i++) {
        	str[i] = sc.nextLine();
        } int i = 0; int i = 0; i 0 i < num[0] i num[0] num 0 i++ i++ i {
        	str[i] = sc.nextLine();
        } {
        	str[i] = sc.nextLine();
        } str[i] = sc.nextLine() str[i] str i sc.nextLine() sc.nextLine sc Arrays.sort(str) Arrays.sort Arrays str for(String s : str) {
        	System.out.print(s);
        } String s str {
        	System.out.print(s);
        } {
        	System.out.print(s);
        } System.out.print(s) System.out.print System.out System System.out s String[] args args static char[] strToCharArray(String str) {
    	char[] chAr = new char[str.length()];
    	chAr = str.toCharArray();
    	return chAr;
    } strToCharArray {
    	char[] chAr = new char[str.length()];
    	chAr = str.toCharArray();
    	return chAr;
    } char[] chAr = new char[str.length()]; chAr new char[str.length()] str.length() str.length str chAr = str.toCharArray() chAr str.toCharArray() str.toCharArray str return chAr; chAr String str str static String[] strToArray(String str, String delim) {
    	String[] strAr= new String[str.length()];
    	strAr = str.split(delim);
    	return strAr;
    } strToArray {
    	String[] strAr= new String[str.length()];
    	strAr = str.split(delim);
    	return strAr;
    } String[] strAr= new String[str.length()]; strAr new String[str.length()] str.length() str.length str strAr = str.split(delim) strAr str.split(delim) str.split str delim return strAr; strAr String str str String delim delim static int[] strToIntArray(String str, String delim) {
    	String[] strAr = str.split(delim);
    	int[] intAr = new int[strAr.length];
    	for(int i = 0; i < strAr.length; i++) {
    		intAr[i] = Integer.parseInt(strAr[i]);
    	}
    	return intAr;
    } strToIntArray {
    	String[] strAr = str.split(delim);
    	int[] intAr = new int[strAr.length];
    	for(int i = 0; i < strAr.length; i++) {
    		intAr[i] = Integer.parseInt(strAr[i]);
    	}
    	return intAr;
    } String[] strAr = str.split(delim); strAr str.split(delim) str.split str delim int[] intAr = new int[strAr.length]; intAr new int[strAr.length] strAr.length strAr strAr.length for(int i = 0; i < strAr.length; i++) {
    		intAr[i] = Integer.parseInt(strAr[i]);
    	} int i = 0; int i = 0; i 0 i < strAr.length i strAr.length strAr strAr.length i++ i++ i {
    		intAr[i] = Integer.parseInt(strAr[i]);
    	} {
    		intAr[i] = Integer.parseInt(strAr[i]);
    	} intAr[i] = Integer.parseInt(strAr[i]) intAr[i] intAr i Integer.parseInt(strAr[i]) Integer.parseInt Integer strAr[i] strAr i return intAr; intAr String str str String delim delim static int toInt(String str) {
    	int num = Integer.parseInt(str);
    	return num;
    } toInt {
    	int num = Integer.parseInt(str);
    	return num;
    } int num = Integer.parseInt(str); num Integer.parseInt(str) Integer.parseInt Integer str return num; num String str str public class Main {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        int[] num = strToIntArray(sc.nextLine(), " ");
        String[] str = new String[num[0]];

        for(int i = 0; i < num[0]; i++) {
        	str[i] = sc.nextLine();
        }
        Arrays.sort(str);
        for(String s : str) {
        	System.out.print(s);
        }
    }

    static char[] strToCharArray(String str) {
    	char[] chAr = new char[str.length()];
    	chAr = str.toCharArray();
    	return chAr;
    }

    static String[] strToArray(String str, String delim) {
    	String[] strAr= new String[str.length()];
    	strAr = str.split(delim);
    	return strAr;
    }

    static int[] strToIntArray(String str, String delim) {
    	String[] strAr = str.split(delim);
    	int[] intAr = new int[strAr.length];
    	for(int i = 0; i < strAr.length; i++) {
    		intAr[i] = Integer.parseInt(strAr[i]);
    	}
    	return intAr;
    }

    static int toInt(String str) {
    	int num = Integer.parseInt(str);
    	return num;
    }
} public class Main {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        int[] num = strToIntArray(sc.nextLine(), " ");
        String[] str = new String[num[0]];

        for(int i = 0; i < num[0]; i++) {
        	str[i] = sc.nextLine();
        }
        Arrays.sort(str);
        for(String s : str) {
        	System.out.print(s);
        }
    }

    static char[] strToCharArray(String str) {
    	char[] chAr = new char[str.length()];
    	chAr = str.toCharArray();
    	return chAr;
    }

    static String[] strToArray(String str, String delim) {
    	String[] strAr= new String[str.length()];
    	strAr = str.split(delim);
    	return strAr;
    }

    static int[] strToIntArray(String str, String delim) {
    	String[] strAr = str.split(delim);
    	int[] intAr = new int[strAr.length];
    	for(int i = 0; i < strAr.length; i++) {
    		intAr[i] = Integer.parseInt(strAr[i]);
    	}
    	return intAr;
    }

    static int toInt(String str) {
    	int num = Integer.parseInt(str);
    	return num;
    }
} Main

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

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

        Scanner sc = new Scanner(System.in);
        int[] num = strToIntArray(sc.nextLine(), " ");
        String[] str = new String[num[0]];

        for(int i = 0; i < num[0]; i++) {
        	str[i] = sc.nextLine();
        }
        Arrays.sort(str);
        for(String s : str) {
        	System.out.print(s);
        }
    }

    static char[] strToCharArray(String str) {
    	char[] chAr = new char[str.length()];
    	chAr = str.toCharArray();
    	return chAr;
    }

    static String[] strToArray(String str, String delim) {
    	String[] strAr= new String[str.length()];
    	strAr = str.split(delim);
    	return strAr;
    }

    static int[] strToIntArray(String str, String delim) {
    	String[] strAr = str.split(delim);
    	int[] intAr = new int[strAr.length];
    	for(int i = 0; i < strAr.length; i++) {
    		intAr[i] = Integer.parseInt(strAr[i]);
    	}
    	return intAr;
    }

    static int toInt(String str) {
    	int num = Integer.parseInt(str);
    	return num;
    }
}