#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;
    }
}