#include <stdio.h>
#include <string.h>
struct p{
int d,id;
}a[1000002];
int main(){
int n,i,x;
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%d",&x);
a[x].d++;
a[x].id=i;
}
int max=0;
int flag=0;
int flagid=1000000;
for(i=1;i<=1000000;i++){
if(a[i].d>max){
max=a[i].d;
flag=i;
flagid=a[i].id;
}
else if(a[i].d==max&&flagid>a[i].id){
max=a[i].d;
flag=i;
flagid=a[i].id;
}
}
printf("%d\n",flag);
return 0;
}