#include<iostream>
#include<unordered_map>
#include<algorithm>
using namespace std;
int highestFrequency(int arr[],int n){
unordered_map<int,int>m;
for(int i=0;i<n;i++){
m[arr[i]] = m[arr[i]] + 1;
}
int freq = 0;
int key;
for(auto p:m){
if(freq == p.second){
auto itr2 = find(arr,arr+n,key);
auto itr1 = find(arr,arr+n,p.first);
if(itr1<itr2){
key = p.first;
}
}
if(freq<p.second){
key = p.first;
freq = p.second;
}
}
return key;
}
int main() {
unordered_map<int,int>m;
int n;
cin>>n;
int arr[n];
for(int i=0;i<n;i++){
cin>>arr[i];
}
int ans = highestFrequency(arr,n);
cout<<ans;
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPHVub3JkZXJlZF9tYXA+CiNpbmNsdWRlPGFsZ29yaXRobT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBoaWdoZXN0RnJlcXVlbmN5KGludCBhcnJbXSxpbnQgbil7Cgl1bm9yZGVyZWRfbWFwPGludCxpbnQ+bTsKCWZvcihpbnQgaT0wO2k8bjtpKyspewoJCW1bYXJyW2ldXSA9IG1bYXJyW2ldXSArIDE7Cgl9CglpbnQgZnJlcSA9IDA7CglpbnQga2V5OwoJZm9yKGF1dG8gcDptKXsKCQlpZihmcmVxID09IHAuc2Vjb25kKXsKCQkJYXV0byBpdHIyID0gZmluZChhcnIsYXJyK24sa2V5KTsKCQkJYXV0byBpdHIxID0gZmluZChhcnIsYXJyK24scC5maXJzdCk7CgkJCWlmKGl0cjE8aXRyMil7CgkJCQlrZXkgPSBwLmZpcnN0OwoJCQl9CgkJfQoJCWlmKGZyZXE8cC5zZWNvbmQpewoJCQlrZXkgPSBwLmZpcnN0OwoJCQlmcmVxID0gcC5zZWNvbmQ7CgkJfQoJfQoJcmV0dXJuIGtleTsKfQppbnQgbWFpbigpIHsKCXVub3JkZXJlZF9tYXA8aW50LGludD5tOwoJaW50IG47CgljaW4+Pm47CglpbnQgYXJyW25dOwoJZm9yKGludCBpPTA7aTxuO2krKyl7CgkJY2luPj5hcnJbaV07Cgl9CglpbnQgYW5zID0gaGlnaGVzdEZyZXF1ZW5jeShhcnIsbik7Cgljb3V0PDxhbnM7CglyZXR1cm4gMDsKfQ==