N=int(input())

S=[]

for _ in range(N):

  S.append(input())

  

import collections



c=collections.Counter(S)

vl=list(c.values())

mv=max(vl)



ans=[]

cc=list(c.items())

cc.sort(key=lambda x:x[1], reverse=True)



for k, v in cc:

  if v==mv:

    ans.append(k)

  else:

    break

ans.sort()

[print(a) for a in ans]

  

N=int(input())

S=[]

for _ in range(N):

  S.append(input())

  

import collections



c=collections.Counter(S)

vl=list(c.values())

# 最大要素数

mv=max(vl) 



ans=[]

cc=list(c.items()) # 辞書を[key, value]のリストにする

cc.sort(key=lambda x:x[1], reverse=True) # valueで降順ソート

# 辞書リスト内のkey, valueを調べる

for k, v in cc:

  if v==mv: # valueが要素数最大のやつ

    ans.append(k)

  else:

    break

ans.sort()

[print(a) for a in ans]

N = int(input())
S = []
for _ in range(N):
    S.append(input())
import collections

c = collections.Counter(S)
vl = list(c.values())
mv = max(vl)
ans = []
cc = list(c.items())
cc.sort(key=lambda x: x[1], reverse=True)
for k, v in cc:
    if v == mv:
        ans.append(k)
    else:
        break
ans.sort()
[print(a) for a in ans]

N = int(input())
S = []
for _ in range(N):
    S.append(input())
import collections

c = collections.Counter(S)
vl = list(c.values())
# 最大要素数
mv = max(vl)
ans = []
cc = list(c.items())  # 辞書を[key, value]のリストにする
cc.sort(key=lambda x: x[1], reverse=True)  # valueで降順ソート
# 辞書リスト内のkey, valueを調べる
for k, v in cc:
    if v == mv:  # valueが要素数最大のやつ
        ans.append(k)
    else:
        break
ans.sort()
[print(a) for a in ans]

+# 最大要素数 -cc = list(c.items()) -cc.sort(key=lambda x: x[1], reverse=True) +cc = list(c.items())  # 辞書を[key, value]のリストにする +cc.sort(key=lambda x: x[1], reverse=True)  # valueで降順ソート +# 辞書リスト内のkey, valueを調べる -    if v == mv: +    if v == mv:  # valueが要素数最大のやつ