import java.util.*;

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int l = sc.nextInt();
//        int a = sc.nextInt();
//        int b = sc.nextInt();
//        int c = sc.nextInt();
//        String s = sc.next();
//        Long x = sc.nextLong();
        String masterList[] = new String[n];
        String list[] = new String[n+1];
        int order[] = new int[n+1];

        for(int i=0;i<n;i++){
            masterList[i] = sc.next();
            list[i]=masterList[i];
            order[i]= i;
        }

        for(int i=1;i<=n;i++){
            for(int j=i-1;j>0;j--){
                for(int t=0;t<l;t++){
                    if(list[j-1].toCharArray()[t]==list[j].toCharArray()[t]){
                        continue;
                    }
                    if(list[j-1].toCharArray()[t]>list[j].toCharArray()[t]){
                        list[n]=list[j];
                        list[j]=list[j-1];
                        list[j-1]=list[n];
                        order[n]=order[j];
                        order[j]=order[j-1];
                        order[j-1]=order[n];
                    }
                    break;
                }
            }
        }
        for(int i=0;i<n;i++){
            System.out.print(masterList[order[i]]);
        }
        System.out.println("");
    }
} import java.util.*; util.* java public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int l = sc.nextInt();
//        int a = sc.nextInt();
//        int b = sc.nextInt();
//        int c = sc.nextInt();
//        String s = sc.next();
//        Long x = sc.nextLong();
        String masterList[] = new String[n];
        String list[] = new String[n+1];
        int order[] = new int[n+1];

        for(int i=0;i<n;i++){
            masterList[i] = sc.next();
            list[i]=masterList[i];
            order[i]= i;
        }

        for(int i=1;i<=n;i++){
            for(int j=i-1;j>0;j--){
                for(int t=0;t<l;t++){
                    if(list[j-1].toCharArray()[t]==list[j].toCharArray()[t]){
                        continue;
                    }
                    if(list[j-1].toCharArray()[t]>list[j].toCharArray()[t]){
                        list[n]=list[j];
                        list[j]=list[j-1];
                        list[j-1]=list[n];
                        order[n]=order[j];
                        order[j]=order[j-1];
                        order[j-1]=order[n];
                    }
                    break;
                }
            }
        }
        for(int i=0;i<n;i++){
            System.out.print(masterList[order[i]]);
        }
        System.out.println("");
    }
} Main public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int l = sc.nextInt();
//        int a = sc.nextInt();
//        int b = sc.nextInt();
//        int c = sc.nextInt();
//        String s = sc.next();
//        Long x = sc.nextLong();
        String masterList[] = new String[n];
        String list[] = new String[n+1];
        int order[] = new int[n+1];

        for(int i=0;i<n;i++){
            masterList[i] = sc.next();
            list[i]=masterList[i];
            order[i]= i;
        }

        for(int i=1;i<=n;i++){
            for(int j=i-1;j>0;j--){
                for(int t=0;t<l;t++){
                    if(list[j-1].toCharArray()[t]==list[j].toCharArray()[t]){
                        continue;
                    }
                    if(list[j-1].toCharArray()[t]>list[j].toCharArray()[t]){
                        list[n]=list[j];
                        list[j]=list[j-1];
                        list[j-1]=list[n];
                        order[n]=order[j];
                        order[j]=order[j-1];
                        order[j-1]=order[n];
                    }
                    break;
                }
            }
        }
        for(int i=0;i<n;i++){
            System.out.print(masterList[order[i]]);
        }
        System.out.println("");
    } main {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int l = sc.nextInt();
//        int a = sc.nextInt();
//        int b = sc.nextInt();
//        int c = sc.nextInt();
//        String s = sc.next();
//        Long x = sc.nextLong();
        String masterList[] = new String[n];
        String list[] = new String[n+1];
        int order[] = new int[n+1];

        for(int i=0;i<n;i++){
            masterList[i] = sc.next();
            list[i]=masterList[i];
            order[i]= i;
        }

        for(int i=1;i<=n;i++){
            for(int j=i-1;j>0;j--){
                for(int t=0;t<l;t++){
                    if(list[j-1].toCharArray()[t]==list[j].toCharArray()[t]){
                        continue;
                    }
                    if(list[j-1].toCharArray()[t]>list[j].toCharArray()[t]){
                        list[n]=list[j];
                        list[j]=list[j-1];
                        list[j-1]=list[n];
                        order[n]=order[j];
                        order[j]=order[j-1];
                        order[j-1]=order[n];
                    }
                    break;
                }
            }
        }
        for(int i=0;i<n;i++){
            System.out.print(masterList[order[i]]);
        }
        System.out.println("");
    } 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 masterList[] = new String[n]; masterList new String[n] n String list[] = new String[n+1]; list new String[n+1] n+1 n 1 int order[] = new int[n+1]; order new int[n+1] n+1 n 1 for(int i=0;i<n;i++){
            masterList[i] = sc.next();
            list[i]=masterList[i];
            order[i]= i;
        } int i=0; int i=0; i 0 i<n i n i++ i++ i {
            masterList[i] = sc.next();
            list[i]=masterList[i];
            order[i]= i;
        } {
            masterList[i] = sc.next();
            list[i]=masterList[i];
            order[i]= i;
        } masterList[i] = sc.next() masterList[i] masterList i sc.next() sc.next sc list[i]=masterList[i] list[i] list i masterList[i] masterList i order[i]= i order[i] order i i for(int i=1;i<=n;i++){
            for(int j=i-1;j>0;j--){
                for(int t=0;t<l;t++){
                    if(list[j-1].toCharArray()[t]==list[j].toCharArray()[t]){
                        continue;
                    }
                    if(list[j-1].toCharArray()[t]>list[j].toCharArray()[t]){
                        list[n]=list[j];
                        list[j]=list[j-1];
                        list[j-1]=list[n];
                        order[n]=order[j];
                        order[j]=order[j-1];
                        order[j-1]=order[n];
                    }
                    break;
                }
            }
        } int i=1; int i=1; i 1 i<=n i n i++ i++ i {
            for(int j=i-1;j>0;j--){
                for(int t=0;t<l;t++){
                    if(list[j-1].toCharArray()[t]==list[j].toCharArray()[t]){
                        continue;
                    }
                    if(list[j-1].toCharArray()[t]>list[j].toCharArray()[t]){
                        list[n]=list[j];
                        list[j]=list[j-1];
                        list[j-1]=list[n];
                        order[n]=order[j];
                        order[j]=order[j-1];
                        order[j-1]=order[n];
                    }
                    break;
                }
            }
        } {
            for(int j=i-1;j>0;j--){
                for(int t=0;t<l;t++){
                    if(list[j-1].toCharArray()[t]==list[j].toCharArray()[t]){
                        continue;
                    }
                    if(list[j-1].toCharArray()[t]>list[j].toCharArray()[t]){
                        list[n]=list[j];
                        list[j]=list[j-1];
                        list[j-1]=list[n];
                        order[n]=order[j];
                        order[j]=order[j-1];
                        order[j-1]=order[n];
                    }
                    break;
                }
            }
        } for(int j=i-1;j>0;j--){
                for(int t=0;t<l;t++){
                    if(list[j-1].toCharArray()[t]==list[j].toCharArray()[t]){
                        continue;
                    }
                    if(list[j-1].toCharArray()[t]>list[j].toCharArray()[t]){
                        list[n]=list[j];
                        list[j]=list[j-1];
                        list[j-1]=list[n];
                        order[n]=order[j];
                        order[j]=order[j-1];
                        order[j-1]=order[n];
                    }
                    break;
                }
            } int j=i-1; int j=i-1; j i-1 i 1 j>0 j 0 j-- j-- j {
                for(int t=0;t<l;t++){
                    if(list[j-1].toCharArray()[t]==list[j].toCharArray()[t]){
                        continue;
                    }
                    if(list[j-1].toCharArray()[t]>list[j].toCharArray()[t]){
                        list[n]=list[j];
                        list[j]=list[j-1];
                        list[j-1]=list[n];
                        order[n]=order[j];
                        order[j]=order[j-1];
                        order[j-1]=order[n];
                    }
                    break;
                }
            } {
                for(int t=0;t<l;t++){
                    if(list[j-1].toCharArray()[t]==list[j].toCharArray()[t]){
                        continue;
                    }
                    if(list[j-1].toCharArray()[t]>list[j].toCharArray()[t]){
                        list[n]=list[j];
                        list[j]=list[j-1];
                        list[j-1]=list[n];
                        order[n]=order[j];
                        order[j]=order[j-1];
                        order[j-1]=order[n];
                    }
                    break;
                }
            } for(int t=0;t<l;t++){
                    if(list[j-1].toCharArray()[t]==list[j].toCharArray()[t]){
                        continue;
                    }
                    if(list[j-1].toCharArray()[t]>list[j].toCharArray()[t]){
                        list[n]=list[j];
                        list[j]=list[j-1];
                        list[j-1]=list[n];
                        order[n]=order[j];
                        order[j]=order[j-1];
                        order[j-1]=order[n];
                    }
                    break;
                } int t=0; int t=0; t 0 t<l t l t++ t++ t {
                    if(list[j-1].toCharArray()[t]==list[j].toCharArray()[t]){
                        continue;
                    }
                    if(list[j-1].toCharArray()[t]>list[j].toCharArray()[t]){
                        list[n]=list[j];
                        list[j]=list[j-1];
                        list[j-1]=list[n];
                        order[n]=order[j];
                        order[j]=order[j-1];
                        order[j-1]=order[n];
                    }
                    break;
                } {
                    if(list[j-1].toCharArray()[t]==list[j].toCharArray()[t]){
                        continue;
                    }
                    if(list[j-1].toCharArray()[t]>list[j].toCharArray()[t]){
                        list[n]=list[j];
                        list[j]=list[j-1];
                        list[j-1]=list[n];
                        order[n]=order[j];
                        order[j]=order[j-1];
                        order[j-1]=order[n];
                    }
                    break;
                } if(list[j-1].toCharArray()[t]==list[j].toCharArray()[t]){
                        continue;
                    } list[j-1].toCharArray()[t]==list[j].toCharArray()[t] list[j-1].toCharArray()[t] list[j-1].toCharArray() list[j-1].toCharArray list[j-1] list j-1 j 1 t list[j].toCharArray()[t] list[j].toCharArray() list[j].toCharArray list[j] list j t {
                        continue;
                    } continue; if(list[j-1].toCharArray()[t]>list[j].toCharArray()[t]){
                        list[n]=list[j];
                        list[j]=list[j-1];
                        list[j-1]=list[n];
                        order[n]=order[j];
                        order[j]=order[j-1];
                        order[j-1]=order[n];
                    } list[j-1].toCharArray()[t]>list[j].toCharArray()[t] list[j-1].toCharArray()[t] list[j-1].toCharArray() list[j-1].toCharArray list[j-1] list j-1 j 1 t list[j].toCharArray()[t] list[j].toCharArray() list[j].toCharArray list[j] list j t {
                        list[n]=list[j];
                        list[j]=list[j-1];
                        list[j-1]=list[n];
                        order[n]=order[j];
                        order[j]=order[j-1];
                        order[j-1]=order[n];
                    } list[n]=list[j] list[n] list n list[j] list j list[j]=list[j-1] list[j] list j list[j-1] list j-1 j 1 list[j-1]=list[n] list[j-1] list j-1 j 1 list[n] list n order[n]=order[j] order[n] order n order[j] order j order[j]=order[j-1] order[j] order j order[j-1] order j-1 j 1 order[j-1]=order[n] order[j-1] order j-1 j 1 order[n] order n break; for(int i=0;i<n;i++){
            System.out.print(masterList[order[i]]);
        } int i=0; int i=0; i 0 i<n i n i++ i++ i {
            System.out.print(masterList[order[i]]);
        } {
            System.out.print(masterList[order[i]]);
        } System.out.print(masterList[order[i]]) System.out.print System.out System System.out masterList[order[i]] masterList order[i] order i System.out.println("") System.out.println System.out System System.out "" String[] args args public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int l = sc.nextInt();
//        int a = sc.nextInt();
//        int b = sc.nextInt();
//        int c = sc.nextInt();
//        String s = sc.next();
//        Long x = sc.nextLong();
        String masterList[] = new String[n];
        String list[] = new String[n+1];
        int order[] = new int[n+1];

        for(int i=0;i<n;i++){
            masterList[i] = sc.next();
            list[i]=masterList[i];
            order[i]= i;
        }

        for(int i=1;i<=n;i++){
            for(int j=i-1;j>0;j--){
                for(int t=0;t<l;t++){
                    if(list[j-1].toCharArray()[t]==list[j].toCharArray()[t]){
                        continue;
                    }
                    if(list[j-1].toCharArray()[t]>list[j].toCharArray()[t]){
                        list[n]=list[j];
                        list[j]=list[j-1];
                        list[j-1]=list[n];
                        order[n]=order[j];
                        order[j]=order[j-1];
                        order[j-1]=order[n];
                    }
                    break;
                }
            }
        }
        for(int i=0;i<n;i++){
            System.out.print(masterList[order[i]]);
        }
        System.out.println("");
    }
} public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int l = sc.nextInt();
//        int a = sc.nextInt();
//        int b = sc.nextInt();
//        int c = sc.nextInt();
//        String s = sc.next();
//        Long x = sc.nextLong();
        String masterList[] = new String[n];
        String list[] = new String[n+1];
        int order[] = new int[n+1];

        for(int i=0;i<n;i++){
            masterList[i] = sc.next();
            list[i]=masterList[i];
            order[i]= i;
        }

        for(int i=1;i<=n;i++){
            for(int j=i-1;j>0;j--){
                for(int t=0;t<l;t++){
                    if(list[j-1].toCharArray()[t]==list[j].toCharArray()[t]){
                        continue;
                    }
                    if(list[j-1].toCharArray()[t]>list[j].toCharArray()[t]){
                        list[n]=list[j];
                        list[j]=list[j-1];
                        list[j-1]=list[n];
                        order[n]=order[j];
                        order[j]=order[j-1];
                        order[j-1]=order[n];
                    }
                    break;
                }
            }
        }
        for(int i=0;i<n;i++){
            System.out.print(masterList[order[i]]);
        }
        System.out.println("");
    }
} Main
import java.util.*;

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int l = sc.nextInt();
//        int a = sc.nextInt();
//        int b = sc.nextInt();
//        int c = sc.nextInt();
//        String s = sc.next();
//        Long x = sc.nextLong();
        String masterList[] = new String[n];
        String list[] = new String[n+1];
        int order[] = new int[n+1];

        for(int i=0;i<n;i++){
            masterList[i] = sc.next();
            list[i]=masterList[i];
            order[i]= i;
        }

        for(int i=1;i<=n;i++){
            for(int j=i-1;j>0;j--){
                for(int t=0;t<l;t++){
                    if(list[j-1].toCharArray()[t]==list[j].toCharArray()[t]){
                        continue;
                    }
                    if(list[j-1].toCharArray()[t]>list[j].toCharArray()[t]){
                        list[n]=list[j];
                        list[j]=list[j-1];
                        list[j-1]=list[n];
                        order[n]=order[j];
                        order[j]=order[j-1];
                        order[j-1]=order[n];
                    }
                    break;
                }
            }
        }
        for(int i=0;i<n;i++){
            System.out.print(masterList[order[i]]);
        }
        System.out.println("");
    }
}
