Problem:
List of Top 3 Hills

There is a data which provides heights (in meter) of mountains. The data is only for ten mountains.

Write a program which prints heights of the top three mountains in descending order.

Input

Height of mountain 1
Height of mountain 2
Height of mountain 3
.
.
Height of mountain 10

Constraints

0 ≤ height of mountain (integer) ≤ 10,000

Output

Height of the 1st mountain
Height of the 2nd mountain
Height of the 3rd mountain

Sample Input 1

1819
2003
876
2840
1723
1673
3776
2848
1592
922

Output for the Sample Input 1

3776
2848
2840

Sample Input 2

100
200
300
400
500
600
700
800
900
900

Output for the Sample Input 2

900
900
800

Solution in Scala (judge verdict: Accepted)


object Main {
  def main(args: Array[String]): Unit = {
    val in = new java.util.Scanner(System.in)
    val list = getList(in,10)
    val sorted = list.sorted
    val ls = sorted.reverse
    printList(ls, 3)
  }
  def getList(in:java.util.Scanner,size:Int):List[Int] ={
    if(size == 0){
      return Nil
    }
    val height = in.nextInt()
    return height :: getList(in,size-1)
  }
  def printList(list:List[Int],size : Int):Unit ={
    if(size == 0){return}
    list match{
      case l :: ls => println(l) ; printList(ls, size-1)
      case Nil => println("error")
    }
  }
}