#include<bits/stdc++.h>
#define int long long
#define D(x) std::cerr<<#x<<'='<<x;
const int N=1e3+6;
int n,cnt(1),ans,anscnt=1,answh=1145;
struct st{
int v,h;
}a[N];
bool cmp(st x,st y){
if(x.v==y.v)return x.h<y.h;
return x.v<y.v;
}
signed main(){
//freopen("bed.in","r",stdin);
//freopen("bed.out","w",stdout);
scanf("%lld",&n);
for(int i=1;i<=n;i++)scanf("%lld",&a[i].v),a[i].h=i;
std::sort(a+1,a+1+n,cmp);
for(int i=2;i<=n;i++){
if(a[i].v==a[i-1].v)cnt++;
else{
if(cnt>anscnt)anscnt=cnt,ans=a[i-1].v;
else if(cnt==anscnt)if(a[i-1].h<answh)anscnt=cnt,ans=a[i-1].v,answh=a[i-1].h;
cnt=1;
}
}
if(cnt>anscnt)anscnt=cnt,ans=a[n].v;
else if(cnt==anscnt)if(a[n].h<answh)anscnt=cnt,ans=a[n].v,answh=a[n].h;
printf("%lld",ans);
return 0;
}