#define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <cstdio> #include <cstring> #include <string> #include <vector> #include <cmath> #include <stack> #include <queue> #include <map> #include <set> #include <algorithm> using namespace std; typedef long long ll; typedef unsigned long long ull; typedef vector<bool> vb; typedef vector<vb> vvb; typedef vector<int> vi; typedef vector<vi> vvi; #define all(c) (c).begin(), (c).end() #define loop(i,a,b) for(int i=a; i<int(b); i++) #define rep(i,b) loop(i,0,b) #define each(e,c) for(auto& e:c) #define iter(it,c) for(auto it=c.begin(); it!=c.end(); ++it) typedef pair<int,int> pii; ll const inf = 1<<28; double const pi = acos(-1); int main(){ int N; while(cin >> N){ map<int,int> m; rep(i,N){ int x;cin>>x; m[x]++; } vector<pii> v; for(auto p : m){ v.push_back(p); } cout << max_element(v.begin(),v.end(), [](const pii & p, const pii& q){ if(p.second != q.second) return p.second < q.second; return p.first < q.first; })->first << endl; } }