Problem:
Mode Value

Your task is to write a program which reads a sequence of integers and prints mode values of the sequence.
The mode value is the element which occurs most frequently.

Input

A sequence of integers ai (1 ≤ ai ≤ 100). The number of integers is less than or equals to 100.

Output

Print the mode values. If there are several mode values, print them in ascending order.

Sample Input

5
6
3
5
8
7
5
3
9
7
3
4

Output for the Sample Input

3
5

For example, 3 and 5 respectively occur three times, 7 occurs two times, and others occur only one. So, the mode values are 3 and 5.

Solution in JAVA (judge verdict: Wrong Answer)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;

public class Main {

	public static void main(String[] args) throws IOException {
		// TODO ?????????????????????????????????????????????
		BufferedReader br =
				new BufferedReader(new InputStreamReader(System.in));
		String[] words = br.readLine().split(" ");

		int maxlen = 0;
		int maxfreq = 1;
		String lenans = words[0];
		String freqans = words[0];
		HashMap<String, Integer> frequency = new HashMap<>();
		for (int i=0; i < words.length; i++) {
			if (words[i].length() > maxlen) {
				maxlen = words[i].length();
				lenans = words[i];
			}

			Integer n;
//			if ( frequency.containsKey(words[i]) ){
//				int n = frequency.get(words[i]);
//				frequency.replace(words[i], n+1);
//			}
			if (  ( n = frequency.get(words[i]) ) == null  ) {
				frequency.put(words[i], 1);
			} else {
				n++;
				frequency.replace(words[i], n);
				if (n > maxfreq) {
					maxfreq = n;
					freqans = words[i];
				}
			}
		}

		System.out.println(freqans + " " + lenans);
	}

}