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 C# (judge verdict: Accepted)

using System;
using System.Linq;
using System.Collections.Generic;
namespace aizu
{
    class OnlineJudge
    {
        public static void Main()
        {
			string input;
			int maxValue = 0;
			Dictionary<int, int> inputValues = new Dictionary<int, int>(200);
			for(int i=0;i < 100 && (input = Console.ReadLine()) != "A";++i){
				int inputValue = int.Parse(input);
				if(!inputValues.ContainsKey(inputValue)){
					inputValues.Add(inputValue, 0);
				}
				maxValue = ++inputValues[inputValue] > maxValue ? inputValues[inputValue] : maxValue;
			}
			inputValues.Where(i => i.Value == maxValue).OrderBy(i => i.Key).Select(i => i.Key).ToList().ForEach(n => Console.WriteLine(n));
        }
    }
}