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

public class Main {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		String[] s = new String[n];

		for (int i = 0; i < n; i++) {
			s[i] = sc.next();
		}
		Arrays.sort(s);

		List<String> ans = new ArrayList<>();
		int maxNum = 0;

		//同じ文字列がいくつ連続するのかを判定。連続数が最大値に一致していればlistに追加。最大値を上回ったらlistを空にしてから追加。
		for (int i = 0; i < n - 1;) {
			int j = i + 1;
			int num = 1;

			while (s[i].equals(s[j])) {
				num++;
				j++;
				if(j == n) {
					break;
				}
			}

			if (num > maxNum) {
				ans.clear();
				ans.add(s[i]);
				maxNum = num;
			} else if (num == maxNum) {
				ans.add(s[i]);
			}

			i = j;
		}

		if (maxNum == 1) {
			ans.add(s[n - 1]);
		}

		Collections.sort(ans);

		for(int i = 0; i < ans.size(); i++) {
			System.out.println(ans.get(i));
		}
	}

} import java.util.ArrayList; ArrayList java.util import java.util.Arrays; Arrays java.util import java.util.Collections; Collections 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);
		int n = sc.nextInt();
		String[] s = new String[n];

		for (int i = 0; i < n; i++) {
			s[i] = sc.next();
		}
		Arrays.sort(s);

		List<String> ans = new ArrayList<>();
		int maxNum = 0;

		//同じ文字列がいくつ連続するのかを判定。連続数が最大値に一致していればlistに追加。最大値を上回ったらlistを空にしてから追加。
		for (int i = 0; i < n - 1;) {
			int j = i + 1;
			int num = 1;

			while (s[i].equals(s[j])) {
				num++;
				j++;
				if(j == n) {
					break;
				}
			}

			if (num > maxNum) {
				ans.clear();
				ans.add(s[i]);
				maxNum = num;
			} else if (num == maxNum) {
				ans.add(s[i]);
			}

			i = j;
		}

		if (maxNum == 1) {
			ans.add(s[n - 1]);
		}

		Collections.sort(ans);

		for(int i = 0; i < ans.size(); i++) {
			System.out.println(ans.get(i));
		}
	}

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

		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		String[] s = new String[n];

		for (int i = 0; i < n; i++) {
			s[i] = sc.next();
		}
		Arrays.sort(s);

		List<String> ans = new ArrayList<>();
		int maxNum = 0;

		//同じ文字列がいくつ連続するのかを判定。連続数が最大値に一致していればlistに追加。最大値を上回ったらlistを空にしてから追加。
		for (int i = 0; i < n - 1;) {
			int j = i + 1;
			int num = 1;

			while (s[i].equals(s[j])) {
				num++;
				j++;
				if(j == n) {
					break;
				}
			}

			if (num > maxNum) {
				ans.clear();
				ans.add(s[i]);
				maxNum = num;
			} else if (num == maxNum) {
				ans.add(s[i]);
			}

			i = j;
		}

		if (maxNum == 1) {
			ans.add(s[n - 1]);
		}

		Collections.sort(ans);

		for(int i = 0; i < ans.size(); i++) {
			System.out.println(ans.get(i));
		}
	} main {

		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		String[] s = new String[n];

		for (int i = 0; i < n; i++) {
			s[i] = sc.next();
		}
		Arrays.sort(s);

		List<String> ans = new ArrayList<>();
		int maxNum = 0;

		//同じ文字列がいくつ連続するのかを判定。連続数が最大値に一致していればlistに追加。最大値を上回ったらlistを空にしてから追加。
		for (int i = 0; i < n - 1;) {
			int j = i + 1;
			int num = 1;

			while (s[i].equals(s[j])) {
				num++;
				j++;
				if(j == n) {
					break;
				}
			}

			if (num > maxNum) {
				ans.clear();
				ans.add(s[i]);
				maxNum = num;
			} else if (num == maxNum) {
				ans.add(s[i]);
			}

			i = j;
		}

		if (maxNum == 1) {
			ans.add(s[n - 1]);
		}

		Collections.sort(ans);

		for(int i = 0; i < ans.size(); i++) {
			System.out.println(ans.get(i));
		}
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int n = sc.nextInt(); n 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] = sc.next() s[i] s i sc.next() sc.next sc Arrays.sort(s) Arrays.sort Arrays s List<String> ans = new ArrayList<>(); ans new ArrayList<>() int maxNum = 0; maxNum 0 for (int i = 0; i < n - 1;) {
			int j = i + 1;
			int num = 1;

			while (s[i].equals(s[j])) {
				num++;
				j++;
				if(j == n) {
					break;
				}
			}

			if (num > maxNum) {
				ans.clear();
				ans.add(s[i]);
				maxNum = num;
			} else if (num == maxNum) {
				ans.add(s[i]);
			}

			i = j;
		} int i = 0; int i = 0; i 0 i < n - 1 i n - 1 n 1 {
			int j = i + 1;
			int num = 1;

			while (s[i].equals(s[j])) {
				num++;
				j++;
				if(j == n) {
					break;
				}
			}

			if (num > maxNum) {
				ans.clear();
				ans.add(s[i]);
				maxNum = num;
			} else if (num == maxNum) {
				ans.add(s[i]);
			}

			i = j;
		} {
			int j = i + 1;
			int num = 1;

			while (s[i].equals(s[j])) {
				num++;
				j++;
				if(j == n) {
					break;
				}
			}

			if (num > maxNum) {
				ans.clear();
				ans.add(s[i]);
				maxNum = num;
			} else if (num == maxNum) {
				ans.add(s[i]);
			}

			i = j;
		} int j = i + 1; j i + 1 i 1 int num = 1; num 1 while (s[i].equals(s[j])) {
				num++;
				j++;
				if(j == n) {
					break;
				}
			} s[i].equals(s[j]) s[i].equals s[i] s i s[j] s j {
				num++;
				j++;
				if(j == n) {
					break;
				}
			} num++ num j++ j if(j == n) {
					break;
				} j == n j n {
					break;
				} break; if (num > maxNum) {
				ans.clear();
				ans.add(s[i]);
				maxNum = num;
			} else if (num == maxNum) {
				ans.add(s[i]);
			} num > maxNum num maxNum {
				ans.clear();
				ans.add(s[i]);
				maxNum = num;
			} ans.clear() ans.clear ans ans.add(s[i]) ans.add ans s[i] s i maxNum = num maxNum num if (num == maxNum) {
				ans.add(s[i]);
			} num == maxNum num maxNum {
				ans.add(s[i]);
			} ans.add(s[i]) ans.add ans s[i] s i i = j i j if (maxNum == 1) {
			ans.add(s[n - 1]);
		} maxNum == 1 maxNum 1 {
			ans.add(s[n - 1]);
		} ans.add(s[n - 1]) ans.add ans s[n - 1] s n - 1 n 1 Collections.sort(ans) Collections.sort Collections ans for(int i = 0; i < ans.size(); i++) {
			System.out.println(ans.get(i));
		} int i = 0; int i = 0; i 0 i < ans.size() i ans.size() ans.size ans i++ i++ i {
			System.out.println(ans.get(i));
		} {
			System.out.println(ans.get(i));
		} System.out.println(ans.get(i)) System.out.println System.out System System.out ans.get(i) ans.get ans i String[] args args public class Main {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		String[] s = new String[n];

		for (int i = 0; i < n; i++) {
			s[i] = sc.next();
		}
		Arrays.sort(s);

		List<String> ans = new ArrayList<>();
		int maxNum = 0;

		//同じ文字列がいくつ連続するのかを判定。連続数が最大値に一致していればlistに追加。最大値を上回ったらlistを空にしてから追加。
		for (int i = 0; i < n - 1;) {
			int j = i + 1;
			int num = 1;

			while (s[i].equals(s[j])) {
				num++;
				j++;
				if(j == n) {
					break;
				}
			}

			if (num > maxNum) {
				ans.clear();
				ans.add(s[i]);
				maxNum = num;
			} else if (num == maxNum) {
				ans.add(s[i]);
			}

			i = j;
		}

		if (maxNum == 1) {
			ans.add(s[n - 1]);
		}

		Collections.sort(ans);

		for(int i = 0; i < ans.size(); i++) {
			System.out.println(ans.get(i));
		}
	}

} public class Main {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		String[] s = new String[n];

		for (int i = 0; i < n; i++) {
			s[i] = sc.next();
		}
		Arrays.sort(s);

		List<String> ans = new ArrayList<>();
		int maxNum = 0;

		//同じ文字列がいくつ連続するのかを判定。連続数が最大値に一致していればlistに追加。最大値を上回ったらlistを空にしてから追加。
		for (int i = 0; i < n - 1;) {
			int j = i + 1;
			int num = 1;

			while (s[i].equals(s[j])) {
				num++;
				j++;
				if(j == n) {
					break;
				}
			}

			if (num > maxNum) {
				ans.clear();
				ans.add(s[i]);
				maxNum = num;
			} else if (num == maxNum) {
				ans.add(s[i]);
			}

			i = j;
		}

		if (maxNum == 1) {
			ans.add(s[n - 1]);
		}

		Collections.sort(ans);

		for(int i = 0; i < ans.size(); i++) {
			System.out.println(ans.get(i));
		}
	}

} Main
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		String[] s = new String[n];

		for (int i = 0; i < n; i++) {
			s[i] = sc.next();
		}
		Arrays.sort(s);

		List<String> ans = new ArrayList<>();
		int maxNum = 0;

		//同じ文字列がいくつ連続するのかを判定。連続数が最大値に一致していればlistに追加。最大値を上回ったらlistを空にしてから追加。
		for (int i = 0; i < n - 1;) {
			int j = i + 1;
			int num = 1;

			while (s[i].equals(s[j])) {
				num++;
				j++;
				if(j == n) {
					break;
				}
			}

			if (num > maxNum) {
				ans.clear();
				ans.add(s[i]);
				maxNum = num;
			} else if (num == maxNum) {
				ans.add(s[i]);
			}

			i = j;
		}

		if (maxNum == 1) {
			ans.add(s[n - 1]);
		}

		Collections.sort(ans);

		for(int i = 0; i < ans.size(); i++) {
			System.out.println(ans.get(i));
		}
	}

}
