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

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

namespace AthleteProgramming
{
    class Program
    {
        static void Main()
        {
            int[] array = new int[10];
            for(int i = 0; i < 10; i++)
            {
                array[i] = int.Parse(Console.ReadLine());
            }
            Sort(ref array);
            for(int i =0;i<3;i++)
            {
                Console.WriteLine(array[9-i]);
            }
        }

        static void Sort(ref int[] array)
        {
            for(int i = 1; i < array.Length; i++)
            {
                int j = i-1;
                int tmp = array[j+1];
                while (j >= 0 && tmp < array[j])
                {
                    array[j+1] = array[j];
                    j--;
                }
                array[j + 1] = tmp;

            }
        }

    }
}