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.Collections.Generic;
class _0028
{
    public static void Main()
    {
        int n, maxCount = 0;
        string str;
        Dictionary<int, int> nums = new Dictionary<int, int>();
        List<int> ans = new List<int>();
        while ((str = Console.ReadLine()) != null)
        {
            n = int.Parse(str);
            if (nums.ContainsKey(n)) nums[n]++;
            else nums[n] = 1;
        }
        foreach (KeyValuePair<int, int> dic in nums) maxCount = (maxCount < dic.Value) ? dic.Value : maxCount;
        foreach (KeyValuePair<int, int> dic in nums) if (dic.Value == maxCount) ans.Add(dic.Key);
        ans.Sort();
        for (int i = 0; i < ans.Count; i++) Console.WriteLine(ans[i]);
    }
}