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;
using System.Linq;
using System.Text;

namespace AOJ
{
	class Program
	{
		static void Main(string[] args)
		{
			var d = new Dictionary<int, int>();
			var s = "";
			while ((s = Console.ReadLine()) != null)
			{
				var n = int.Parse(s);
				if (!d.ContainsKey(n))
					d.Add(n, 0);
				d[n]++;
			}
			var max = d.Select(p => p.Value).Max();
			foreach (var p in d.Where(i => i.Value == max).OrderBy(i => i.Key))
			{
				Console.WriteLine(p.Key);
			}
		}
	}
}