import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;
public class Main {

	public static void main(String[] args) {

		Scanner scan = new Scanner(System.in);

		int n = scan.nextInt();
		Map<String,Integer> poll = new TreeMap<String,Integer>();

		String b = scan.next();
		poll.put(b,1);

		for(int i=1;i<n;i++) {
			String S = scan.next();

			//マップに指定した文字列が存在しないとき
			if(!poll.containsKey(S)) {

				//指定した文字列のキーと値をマップに関連付ける
				poll.put(S, 1);
				}else {
					//
					poll.replace(S,poll.get(S)+1);
				}
		}

		int S = 0;
		for(String k:poll.keySet()) {
			S = Math.max(S, poll.get(k));
		}

		for(String k:poll.keySet()) {
			if(S == poll.get(k)) {
				System.out.println(k);
			}
		}


		scan.close();

	}

} import java.util.Map; Map java.util import java.util.Scanner; Scanner java.util import java.util.TreeMap; TreeMap java.util public class Main {

	public static void main(String[] args) {

		Scanner scan = new Scanner(System.in);

		int n = scan.nextInt();
		Map<String,Integer> poll = new TreeMap<String,Integer>();

		String b = scan.next();
		poll.put(b,1);

		for(int i=1;i<n;i++) {
			String S = scan.next();

			//マップに指定した文字列が存在しないとき
			if(!poll.containsKey(S)) {

				//指定した文字列のキーと値をマップに関連付ける
				poll.put(S, 1);
				}else {
					//
					poll.replace(S,poll.get(S)+1);
				}
		}

		int S = 0;
		for(String k:poll.keySet()) {
			S = Math.max(S, poll.get(k));
		}

		for(String k:poll.keySet()) {
			if(S == poll.get(k)) {
				System.out.println(k);
			}
		}


		scan.close();

	}

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

		Scanner scan = new Scanner(System.in);

		int n = scan.nextInt();
		Map<String,Integer> poll = new TreeMap<String,Integer>();

		String b = scan.next();
		poll.put(b,1);

		for(int i=1;i<n;i++) {
			String S = scan.next();

			//マップに指定した文字列が存在しないとき
			if(!poll.containsKey(S)) {

				//指定した文字列のキーと値をマップに関連付ける
				poll.put(S, 1);
				}else {
					//
					poll.replace(S,poll.get(S)+1);
				}
		}

		int S = 0;
		for(String k:poll.keySet()) {
			S = Math.max(S, poll.get(k));
		}

		for(String k:poll.keySet()) {
			if(S == poll.get(k)) {
				System.out.println(k);
			}
		}


		scan.close();

	} main {

		Scanner scan = new Scanner(System.in);

		int n = scan.nextInt();
		Map<String,Integer> poll = new TreeMap<String,Integer>();

		String b = scan.next();
		poll.put(b,1);

		for(int i=1;i<n;i++) {
			String S = scan.next();

			//マップに指定した文字列が存在しないとき
			if(!poll.containsKey(S)) {

				//指定した文字列のキーと値をマップに関連付ける
				poll.put(S, 1);
				}else {
					//
					poll.replace(S,poll.get(S)+1);
				}
		}

		int S = 0;
		for(String k:poll.keySet()) {
			S = Math.max(S, poll.get(k));
		}

		for(String k:poll.keySet()) {
			if(S == poll.get(k)) {
				System.out.println(k);
			}
		}


		scan.close();

	} Scanner scan = new Scanner(System.in); scan new Scanner(System.in) int n = scan.nextInt(); n scan.nextInt() scan.nextInt scan Map<String,Integer> poll = new TreeMap<String,Integer>(); poll new TreeMap<String,Integer>() String b = scan.next(); b scan.next() scan.next scan poll.put(b,1) poll.put poll b 1 for(int i=1;i<n;i++) {
			String S = scan.next();

			//マップに指定した文字列が存在しないとき
			if(!poll.containsKey(S)) {

				//指定した文字列のキーと値をマップに関連付ける
				poll.put(S, 1);
				}else {
					//
					poll.replace(S,poll.get(S)+1);
				}
		} int i=1; int i=1; i 1 i<n i n i++ i++ i {
			String S = scan.next();

			//マップに指定した文字列が存在しないとき
			if(!poll.containsKey(S)) {

				//指定した文字列のキーと値をマップに関連付ける
				poll.put(S, 1);
				}else {
					//
					poll.replace(S,poll.get(S)+1);
				}
		} {
			String S = scan.next();

			//マップに指定した文字列が存在しないとき
			if(!poll.containsKey(S)) {

				//指定した文字列のキーと値をマップに関連付ける
				poll.put(S, 1);
				}else {
					//
					poll.replace(S,poll.get(S)+1);
				}
		} String S = scan.next(); S scan.next() scan.next scan if(!poll.containsKey(S)) {

				//指定した文字列のキーと値をマップに関連付ける
				poll.put(S, 1);
				}else {
					//
					poll.replace(S,poll.get(S)+1);
				} !poll.containsKey(S) poll.containsKey(S) poll.containsKey poll S {

				//指定した文字列のキーと値をマップに関連付ける
				poll.put(S, 1);
				} poll.put(S, 1) poll.put poll S 1 {
					//
					poll.replace(S,poll.get(S)+1);
				} poll.replace(S,poll.get(S)+1) poll.replace poll S poll.get(S)+1 poll.get(S) poll.get poll S 1 int S = 0; S 0 for(String k:poll.keySet()) {
			S = Math.max(S, poll.get(k));
		} String k poll.keySet() poll.keySet poll {
			S = Math.max(S, poll.get(k));
		} {
			S = Math.max(S, poll.get(k));
		} S = Math.max(S, poll.get(k)) S Math.max(S, poll.get(k)) Math.max Math S poll.get(k) poll.get poll k for(String k:poll.keySet()) {
			if(S == poll.get(k)) {
				System.out.println(k);
			}
		} String k poll.keySet() poll.keySet poll {
			if(S == poll.get(k)) {
				System.out.println(k);
			}
		} {
			if(S == poll.get(k)) {
				System.out.println(k);
			}
		} if(S == poll.get(k)) {
				System.out.println(k);
			} S == poll.get(k) S poll.get(k) poll.get poll k {
				System.out.println(k);
			} System.out.println(k) System.out.println System.out System System.out k scan.close() scan.close scan String[] args args public class Main {

	public static void main(String[] args) {

		Scanner scan = new Scanner(System.in);

		int n = scan.nextInt();
		Map<String,Integer> poll = new TreeMap<String,Integer>();

		String b = scan.next();
		poll.put(b,1);

		for(int i=1;i<n;i++) {
			String S = scan.next();

			//マップに指定した文字列が存在しないとき
			if(!poll.containsKey(S)) {

				//指定した文字列のキーと値をマップに関連付ける
				poll.put(S, 1);
				}else {
					//
					poll.replace(S,poll.get(S)+1);
				}
		}

		int S = 0;
		for(String k:poll.keySet()) {
			S = Math.max(S, poll.get(k));
		}

		for(String k:poll.keySet()) {
			if(S == poll.get(k)) {
				System.out.println(k);
			}
		}


		scan.close();

	}

} public class Main {

	public static void main(String[] args) {

		Scanner scan = new Scanner(System.in);

		int n = scan.nextInt();
		Map<String,Integer> poll = new TreeMap<String,Integer>();

		String b = scan.next();
		poll.put(b,1);

		for(int i=1;i<n;i++) {
			String S = scan.next();

			//マップに指定した文字列が存在しないとき
			if(!poll.containsKey(S)) {

				//指定した文字列のキーと値をマップに関連付ける
				poll.put(S, 1);
				}else {
					//
					poll.replace(S,poll.get(S)+1);
				}
		}

		int S = 0;
		for(String k:poll.keySet()) {
			S = Math.max(S, poll.get(k));
		}

		for(String k:poll.keySet()) {
			if(S == poll.get(k)) {
				System.out.println(k);
			}
		}


		scan.close();

	}

} Main
import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;
public class Main {

	public static void main(String[] args) {

		Scanner scan = new Scanner(System.in);

		int n = scan.nextInt();
		Map<String,Integer> poll = new TreeMap<String,Integer>();

		String b = scan.next();
		poll.put(b,1);

		for(int i=1;i<n;i++) {
			String S = scan.next();

			//マップに指定した文字列が存在しないとき
			if(!poll.containsKey(S)) {

				//指定した文字列のキーと値をマップに関連付ける
				poll.put(S, 1);
				}else {
					//
					poll.replace(S,poll.get(S)+1);
				}
		}

		int S = 0;
		for(String k:poll.keySet()) {
			S = Math.max(S, poll.get(k));
		}

		for(String k:poll.keySet()) {
			if(S == poll.get(k)) {
				System.out.println(k);
			}
		}


		scan.close();

	}

}
