
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {

	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
      	String[] firstLineValues = sc.nextLine().split(" ");

      	List<String> list = new ArrayList<String>();
      	for(int i = 0; i < Integer.parseInt(firstLineValues[0]); i++) {
      		list.add(sc.nextLine());
      	}
      	StringBuilder sb = new StringBuilder();
      	while(list.size() > 0) {
      		String tag = "";
      		for(String str: list) {
      			if(tag.isEmpty()) {
      				tag = str;
      				continue;
      			}
      			for(int i = 0; i < str.length(); i++) {
      				if(tag.charAt(i) > str.charAt(i)) {
      					tag = str;
      					break;
      				}
      				if(tag.charAt(i) < str.charAt(i)) {
      					break;
      				}
      			}
      		}
      		sb.append(tag);
      		list.remove(tag);
      	}
      	System.out.println(sb.toString());

	}

} import java.util.ArrayList; ArrayList java.util import java.util.List; List java.util import java.util.Scanner; Scanner java.util public class Main {

	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
      	String[] firstLineValues = sc.nextLine().split(" ");

      	List<String> list = new ArrayList<String>();
      	for(int i = 0; i < Integer.parseInt(firstLineValues[0]); i++) {
      		list.add(sc.nextLine());
      	}
      	StringBuilder sb = new StringBuilder();
      	while(list.size() > 0) {
      		String tag = "";
      		for(String str: list) {
      			if(tag.isEmpty()) {
      				tag = str;
      				continue;
      			}
      			for(int i = 0; i < str.length(); i++) {
      				if(tag.charAt(i) > str.charAt(i)) {
      					tag = str;
      					break;
      				}
      				if(tag.charAt(i) < str.charAt(i)) {
      					break;
      				}
      			}
      		}
      		sb.append(tag);
      		list.remove(tag);
      	}
      	System.out.println(sb.toString());

	}

} Main public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
      	String[] firstLineValues = sc.nextLine().split(" ");

      	List<String> list = new ArrayList<String>();
      	for(int i = 0; i < Integer.parseInt(firstLineValues[0]); i++) {
      		list.add(sc.nextLine());
      	}
      	StringBuilder sb = new StringBuilder();
      	while(list.size() > 0) {
      		String tag = "";
      		for(String str: list) {
      			if(tag.isEmpty()) {
      				tag = str;
      				continue;
      			}
      			for(int i = 0; i < str.length(); i++) {
      				if(tag.charAt(i) > str.charAt(i)) {
      					tag = str;
      					break;
      				}
      				if(tag.charAt(i) < str.charAt(i)) {
      					break;
      				}
      			}
      		}
      		sb.append(tag);
      		list.remove(tag);
      	}
      	System.out.println(sb.toString());

	} main {
		Scanner sc = new Scanner(System.in);
      	String[] firstLineValues = sc.nextLine().split(" ");

      	List<String> list = new ArrayList<String>();
      	for(int i = 0; i < Integer.parseInt(firstLineValues[0]); i++) {
      		list.add(sc.nextLine());
      	}
      	StringBuilder sb = new StringBuilder();
      	while(list.size() > 0) {
      		String tag = "";
      		for(String str: list) {
      			if(tag.isEmpty()) {
      				tag = str;
      				continue;
      			}
      			for(int i = 0; i < str.length(); i++) {
      				if(tag.charAt(i) > str.charAt(i)) {
      					tag = str;
      					break;
      				}
      				if(tag.charAt(i) < str.charAt(i)) {
      					break;
      				}
      			}
      		}
      		sb.append(tag);
      		list.remove(tag);
      	}
      	System.out.println(sb.toString());

	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) String[] firstLineValues = sc.nextLine().split(" "); firstLineValues sc.nextLine().split(" ") sc.nextLine().split sc.nextLine() sc.nextLine sc " " List<String> list = new ArrayList<String>(); list new ArrayList<String>() for(int i = 0; i < Integer.parseInt(firstLineValues[0]); i++) {
      		list.add(sc.nextLine());
      	} int i = 0; int i = 0; i 0 i < Integer.parseInt(firstLineValues[0]) i Integer.parseInt(firstLineValues[0]) Integer.parseInt Integer firstLineValues[0] firstLineValues 0 i++ i++ i {
      		list.add(sc.nextLine());
      	} {
      		list.add(sc.nextLine());
      	} list.add(sc.nextLine()) list.add list sc.nextLine() sc.nextLine sc StringBuilder sb = new StringBuilder(); sb new StringBuilder() while(list.size() > 0) {
      		String tag = "";
      		for(String str: list) {
      			if(tag.isEmpty()) {
      				tag = str;
      				continue;
      			}
      			for(int i = 0; i < str.length(); i++) {
      				if(tag.charAt(i) > str.charAt(i)) {
      					tag = str;
      					break;
      				}
      				if(tag.charAt(i) < str.charAt(i)) {
      					break;
      				}
      			}
      		}
      		sb.append(tag);
      		list.remove(tag);
      	} list.size() > 0 list.size() list.size list 0 {
      		String tag = "";
      		for(String str: list) {
      			if(tag.isEmpty()) {
      				tag = str;
      				continue;
      			}
      			for(int i = 0; i < str.length(); i++) {
      				if(tag.charAt(i) > str.charAt(i)) {
      					tag = str;
      					break;
      				}
      				if(tag.charAt(i) < str.charAt(i)) {
      					break;
      				}
      			}
      		}
      		sb.append(tag);
      		list.remove(tag);
      	} String tag = ""; tag "" for(String str: list) {
      			if(tag.isEmpty()) {
      				tag = str;
      				continue;
      			}
      			for(int i = 0; i < str.length(); i++) {
      				if(tag.charAt(i) > str.charAt(i)) {
      					tag = str;
      					break;
      				}
      				if(tag.charAt(i) < str.charAt(i)) {
      					break;
      				}
      			}
      		} String str list {
      			if(tag.isEmpty()) {
      				tag = str;
      				continue;
      			}
      			for(int i = 0; i < str.length(); i++) {
      				if(tag.charAt(i) > str.charAt(i)) {
      					tag = str;
      					break;
      				}
      				if(tag.charAt(i) < str.charAt(i)) {
      					break;
      				}
      			}
      		} {
      			if(tag.isEmpty()) {
      				tag = str;
      				continue;
      			}
      			for(int i = 0; i < str.length(); i++) {
      				if(tag.charAt(i) > str.charAt(i)) {
      					tag = str;
      					break;
      				}
      				if(tag.charAt(i) < str.charAt(i)) {
      					break;
      				}
      			}
      		} if(tag.isEmpty()) {
      				tag = str;
      				continue;
      			} tag.isEmpty() tag.isEmpty tag {
      				tag = str;
      				continue;
      			} tag = str tag str continue; for(int i = 0; i < str.length(); i++) {
      				if(tag.charAt(i) > str.charAt(i)) {
      					tag = str;
      					break;
      				}
      				if(tag.charAt(i) < str.charAt(i)) {
      					break;
      				}
      			} int i = 0; int i = 0; i 0 i < str.length() i str.length() str.length str i++ i++ i {
      				if(tag.charAt(i) > str.charAt(i)) {
      					tag = str;
      					break;
      				}
      				if(tag.charAt(i) < str.charAt(i)) {
      					break;
      				}
      			} {
      				if(tag.charAt(i) > str.charAt(i)) {
      					tag = str;
      					break;
      				}
      				if(tag.charAt(i) < str.charAt(i)) {
      					break;
      				}
      			} if(tag.charAt(i) > str.charAt(i)) {
      					tag = str;
      					break;
      				} tag.charAt(i) > str.charAt(i) tag.charAt(i) tag.charAt tag i str.charAt(i) str.charAt str i {
      					tag = str;
      					break;
      				} tag = str tag str break; if(tag.charAt(i) < str.charAt(i)) {
      					break;
      				} tag.charAt(i) < str.charAt(i) tag.charAt(i) tag.charAt tag i str.charAt(i) str.charAt str i {
      					break;
      				} break; sb.append(tag) sb.append sb tag list.remove(tag) list.remove list tag System.out.println(sb.toString()) System.out.println System.out System System.out sb.toString() sb.toString sb String[] args args public class Main {

	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
      	String[] firstLineValues = sc.nextLine().split(" ");

      	List<String> list = new ArrayList<String>();
      	for(int i = 0; i < Integer.parseInt(firstLineValues[0]); i++) {
      		list.add(sc.nextLine());
      	}
      	StringBuilder sb = new StringBuilder();
      	while(list.size() > 0) {
      		String tag = "";
      		for(String str: list) {
      			if(tag.isEmpty()) {
      				tag = str;
      				continue;
      			}
      			for(int i = 0; i < str.length(); i++) {
      				if(tag.charAt(i) > str.charAt(i)) {
      					tag = str;
      					break;
      				}
      				if(tag.charAt(i) < str.charAt(i)) {
      					break;
      				}
      			}
      		}
      		sb.append(tag);
      		list.remove(tag);
      	}
      	System.out.println(sb.toString());

	}

} public class Main {

	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
      	String[] firstLineValues = sc.nextLine().split(" ");

      	List<String> list = new ArrayList<String>();
      	for(int i = 0; i < Integer.parseInt(firstLineValues[0]); i++) {
      		list.add(sc.nextLine());
      	}
      	StringBuilder sb = new StringBuilder();
      	while(list.size() > 0) {
      		String tag = "";
      		for(String str: list) {
      			if(tag.isEmpty()) {
      				tag = str;
      				continue;
      			}
      			for(int i = 0; i < str.length(); i++) {
      				if(tag.charAt(i) > str.charAt(i)) {
      					tag = str;
      					break;
      				}
      				if(tag.charAt(i) < str.charAt(i)) {
      					break;
      				}
      			}
      		}
      		sb.append(tag);
      		list.remove(tag);
      	}
      	System.out.println(sb.toString());

	}

} Main

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {

	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
      	String[] firstLineValues = sc.nextLine().split(" ");

      	List<String> list = new ArrayList<String>();
      	for(int i = 0; i < Integer.parseInt(firstLineValues[0]); i++) {
      		list.add(sc.nextLine());
      	}
      	StringBuilder sb = new StringBuilder();
      	while(list.size() > 0) {
      		String tag = "";
      		for(String str: list) {
      			if(tag.isEmpty()) {
      				tag = str;
      				continue;
      			}
      			for(int i = 0; i < str.length(); i++) {
      				if(tag.charAt(i) > str.charAt(i)) {
      					tag = str;
      					break;
      				}
      				if(tag.charAt(i) < str.charAt(i)) {
      					break;
      				}
      			}
      		}
      		sb.append(tag);
      		list.remove(tag);
      	}
      	System.out.println(sb.toString());

	}

}
