// Задача "Олимпийские игры"
// Шестая индивидуальная Интернет-олимпиада сезона 2009-2010.
// Автор задачи: Федор Царев, tsarev@rain.ifmo.ru
// Автор решения: Сергей Мельников, melnikov@rain.ifmo.ru

import java.io.*;
import java.io.FileNotFoundException;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Map.Entry;

public class olympic_sm_wrong1 {
	void run() throws FileNotFoundException {
		Scanner in = new Scanner(new File("olympic.in"));
		int n = in.nextInt();
		assert 1 <= n && n <= 200;
		Map<String, int[]> medals = new HashMap<String, int[]>();
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < 3; j++) {
				String s = in.next();
				if (!medals.containsKey(s)) {
					medals.put(s, new int[3]);
				}
				medals.get(s)[j]++;
			}
		}
		assert !in.hasNext();
		PrintWriter out = new PrintWriter("olympic.out");

		out.println(Collections.max(medals.entrySet(),
				new Comparator<Map.Entry<String, int[]>>() {
					@Override
					public int compare(Entry<String, int[]> e1,
							Entry<String, int[]> e2) {
						if (e1.getValue()[0] < e2.getValue()[0]) {
							return -1;
						}
						if (e1.getValue()[0] > e2.getValue()[0]) {
							return 1;
						}
						int s1 = 0;
						int s2 = 0;
						for (int i = 1; i < 3; i++) {
							s1 += e1.getValue()[i];
							s2 += e2.getValue()[i];
						}
						if (s1 < s2) {
							return -1;
						}
						if (s1 > s2) {
							return 1;
						}
						return -e1.getKey().compareTo(e2.getKey());
					}
				}).getKey());
		out.close();
	}

	public static void main(String[] args) throws FileNotFoundException {
		new olympic_sm_wrong1().run();
	}
}
