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;

class aoj
{
    static void Main()
    {
        int[] k= new int[100];
        int b = 0;
        while (true)
        {
            string a = Console.ReadLine();
            if (String.IsNullOrEmpty(a)) break;
            k[b] = int.Parse(a);
            b++;
        }
        int[] arry = new int[b];
        for(int i = 0; i < b; i++)
        {
            arry[i] = k[i];
        }
        int[] f = new int[b];    
        int d = 0;
        Array.Sort(arry);
        for(int i = 0; i < b; i++)
        {
            if (i==0||arry[i] != arry[i - 1])
            {
                f[d] = arry[i];
                d++;
            }
        }
        int h = d;
        int []c = new int[d];
        int[] e = new int[d];
        for(int i = 0; i < h; i++)
        {
            for(int j = 0; j < b; j++)
            {
                if (arry[j] == f[i])
                {
                    c[i]++;
                    e[i]++;
                }
            }
        }
        Array.Sort(c);
        int g=c[d-1];
        for(int i = 0; i <d; i++)
        {
            if (e[i] == g)
            {
                Console.WriteLine(f[i]);
            }
        }
    }
}