#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define mp(first, second) make_pair(first, second) typedef unsigned long long ul; typedef long long ll; typedef pair ii; typedef vector vii; typedef vector vi; int main() { cin.tie(nullptr); int n; cin >> n; vector types(n); for (int types_i = 0; types_i < n; types_i++) { cin >> types[types_i]; } map counters; for (int i = 0; i < types.size(); i++) { counters[types[i]]++; } ii ans; ans.first = 0; ans.second = 0; for(map::iterator it = counters.begin(); it != counters.end(); ++it) { if (it->second > ans.second) { ans.first = it->first; ans.second = it->second; } if (it->second == ans.second) { ans.first = it->first < ans.first ? it->first : ans.first; } } cout << ans.first << endl; //while (true) //{ // //} return 0; }