import java.util.ArrayList;

public class FindMostAppear2 {
    public static int findMostAppear2(int[] nums){
        int max_appear = 0;
        //ArrayList<Integer> answer = new ArrayList<Integer>();
        int answer = 0;
        for (int i = 0; i < nums.length; i++){
            int current_appear = 1;
            for (int j = i + 1; j < nums.length; j++){
                if (nums[i] == nums[j]){
                    current_appear++;
                }
            }
            if (max_appear < current_appear){
                max_appear = current_appear;
                //answer.add(nums[i]);
                answer = nums[i];
            } else if (max_appear == current_appear){
                //answer.add(nums[i]);
                answer = Math.min(nums[i], answer);
            }
        }
        return answer;
    }

    public static void main(String[] args) {
        int[] nums = {5,10, 2, 2, 3, 4, 3, 1, 1,3,3};
        System.out.println(findMostAppear2(nums));
//        for (int i = 0 ; i < findMostAppear2(nums).size(); i++){
//            System.out.print(findMostAppear2(nums).get(i) + " ");
//        }
    }
}
