use std::collections::HashMap; fn main() { let mut input = String::new(); std::io::stdin().read_line(&mut input).ok(); let mut input = String::new(); std::io::stdin().read_line(&mut input).ok(); let l_vec = input .split_whitespace() .map(|x| x.parse::().unwrap()) .collect::>(); let mut l_with_count = HashMap::new(); for l in l_vec { let counter = l_with_count.entry(l).or_insert(0); *counter += 1; } let answer = l_with_count .iter() .max_by(|x, y| { let ((x_key, x_val), (y_key, y_val)) = (x, y); if x_val == y_val { x_key.cmp(y_key) } else { x_val.cmp(y_val) } }) .unwrap() .0; println!("{}", answer); }