/*
* Problem :: 1302 / 베스트셀러
*
* Kind :: Sorting
*
* Insight
* - C++ 에서는 Map 에서 Value 기준으로 정렬하려면
* Vector 로 옮겨야 한다는 것을 알 수 있었다
* + Map 자체에서 여러가지 시도해보았으나 불가능했다...
* Key 로는 정렬이 가능한 것 같지만 Value 는 안되는 걸로 쾅쾅!!
*/
//
// BOJ
// ver.C++
//
// Created by GGlifer
//
// Open Source
#include <iostream>
#include <map>
#include <vector>
using namespace std;
#define endl '\n'
// Set up : Global Variables
typedef pair<string,int> psi;
// Set up : Functions Declaration
/* None */
int main()
{
// Set up : I/O
ios::sync_with_stdio(false);
cin.tie(nullptr);
// Set up : Input
int N; cin >> N;
map<string,int> M; /* Map */
for (int i=0; i<N; i++) {
string name; cin >> name;
M[name]++;
}
// Process
vector<pair<string,int>> V(M.begin(), M.end()); /* Map -> Vector */
sort(V.begin(), V.end(), [](psi &u, psi &v){ /* Vector 에서 Value 기준 정렬 */
string u_name = u.first, v_name = v.first;
int u_count = u.second, v_count = v.second;
/* count 는 내림차순 -> -count 는 오름차순
* make_pair 로 한꺼번에 [-count, name] 오름차순 정렬 */
return make_pair(-u_count, u_name) < make_pair(-v_count, v_name);
});
// Control : Output
cout << V.begin()->first << endl;
}
// Helper Functions
/* None */