#include #define rep(i, n) for(int i = 0; i < (int)(n); i++) #define rrep(i, n) for(int i = ((int)(n)-1); i >= 0; i--) #define all(x) (x).begin(),(x).end() #define pb emplace_back using namespace std; using ll = long long; typedef vector vi; typedef vector vvi; typedef pair P; const int INF = 1e9; const double EPS = 1e-10; const int MOD = 1e9+7; const double PI = acos(-1.0); int main() { int n; cin >> n; map mp; int ans = 0,now_cnt = 0,max_num = 0,max_cnt = 0; for(int i = 0; i < n; i++){ int l; cin >> l; mp[l]++; if(mp[l] > max_cnt){ ans = l; max_cnt = mp[l]; max_num = l; }else if(mp[l] == max_cnt){ if(l >= max_num){ ans = l; max_cnt = mp[l]; max_num = l; } } } cout << ans << endl; return 0; }