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 JAVA (judge verdict: Wrong Answer)

/*
 * 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.
 */
import java.util.ArrayList;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Comparator;
import java.io.IOException;

class ListOfTop3Hills {
    public static final int MaxInputNumber = 10;
    public static final int MaxOutputNumber = 3;
    private static ListOfTop3Hills top3Hills = new ListOfTop3Hills();

    private ArrayList<Integer> inputList;

    private ListOfTop3Hills() {
        inputList = new ArrayList<Integer>();
    }

    public static final ListOfTop3Hills getInstance() {
        return top3Hills;
    }

    final public boolean Run() {
        for (int i = 0; i < MaxInputNumber; ++i) {
            int num;
            try {
                num = Integer.parseInt(ReadLine());
            } catch (NumberFormatException e) {
                return false;
            }
            inputList.add(num);
        }

        SortedList();
        printTop3();

        return true;
    }

    final protected String ReadLine() {
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
        String line = "";
        try {
            line = bufferedReader.readLine();
        } catch (IOException e) {

        }

        return line;
    }

    final protected void SortedList() {
        inputList.sort(Comparator.reverseOrder());
    }

    final protected void printTop3() {
        for (int i = 0; i < MaxOutputNumber; ++i) {
            System.out.println(inputList.get(i).intValue());
        }
    }

}
/**
 *
 * @author User
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {

        ListOfTop3Hills.getInstance().Run();
    }

}