import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
public class Main {
public static void main(String[] args) {
//数字出现的次数
Integer retimes = 2;
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
//set存不重复的数据
Set<Integer> set = new HashSet<Integer>();
//map键为重复的数字,值为出现的次数
Map<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < n; i++) {
Integer num = sc.nextInt();
//判断set中是否有该数字,有则判断map中是否已有该数字的键对值
if (!set.add(num)) {
if (map.get(num) == null) {
map.put(num, 2);
} else {
map.put(num, map.get(num) + 1);
retimes = map.get(num) > retimes ? map.get(num) : retimes;
}
}
}
//排除错误情况
if (n < 3 || set.size() == n)
System.out.println(Collections.min(set));
else
getNum(map, retimes);
}
public static void getNum(Map<Integer, Integer> map, Integer retimes) {
List<Integer> list = new ArrayList<Integer>();
//遍历map取出重复次数最多的数字放入list
for (Map.Entry<Integer, Integer> m : map.entrySet()) {
if (m.getValue() == retimes)
list.add(m.getKey());
}
//取得list中最小的数字
Integer min = Collections.min(list);
System.out.println(min);
}
}