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

import scala.io.Source.stdin

object Main {
  def countValue(i: Iterator[String], count: Map[Int, Int] = Map()): Map[Int, Int] = {
    if (i.hasNext) {
      val n = i.next.toInt
      if (count.contains(n)) countValue(i, count + (n -> (count(n) + 1)))
      else countValue(i, count + (n -> 1))
    } else count
  }

  def results(i: Iterator[String]): List[Int] = {
    val countList = countValue(i).toList.sortWith(_._2 > _._2)
    val filterMaxCount = countList.filter(_._2 == countList.head._2)
    (for ((t1,t2) <- filterMaxCount) yield t1).sortWith(_<_)
  }

  def main(args: Array[String]): Unit = {
    results(stdin.getLines).foreach(println)
  }
}