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: Wrong Answer)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace AOJ
{
    class Program
    {
        static void Main(string[] args)
        {
            var list = new List<int>();
            string s;
            while ((s = Console.ReadLine()) != null)
            {
                var d = int.Parse(s);
                list.Add(d);
            }
            list.Sort();
            var dict = new Dictionary<int, int>();
            for (int i = 0; i < 100; i++) { dict.Add(i + 1, 0); }
            foreach (var v in list)
            {
                var r = dict[v];
                dict.Remove(v);
                dict.Add(v, ++r);
            }
            var k = dict.Keys;
            var sl = 0;
            var rlist = new List<int>();
            foreach (var v in k)
            {
                if (dict[v] > sl) { rlist.Clear(); }
                if (dict[v] >= sl) { rlist.Add(v); }
            }
            foreach (var va in rlist)
            {
                Console.WriteLine(va);
            }
        }
    }
}