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

var input = '';
process.stdin.resume();
process.stdin.setEncoding('utf8');
process.stdin.on('data', function(chunk) {
    input += chunk;
});
process.stdin.on('end', function() {
    main(input)
});

function main(arg){
    var mountains = arg.split('\n');console.log(mountains);
    mountains = mountains.map(function(x){ return parseInt(x); })

    var topMountains = [];

    iterateTopMountains(function init(i){
        topMountains[i] = 0;
    })

    for(var i = 0; i < mountains.length; i += 1){
        var mountain = mountains[i];

        iterateTopMountains(function displace(rank){
            if(mountain > topMountains[rank]){
                topMountains.splice(rank, 0, mountain);
                return true;
            }
        })

    }

    iterateTopMountains(function show(i){
        console.log(topMountains[i]);
    })
}

function iterateTopMountains(func){
    var numTopMountains = 3;
    for(var i = 0; i < numTopMountains; i += 1){
        var needBreak = func(i);

        if(needBreak){ break; }
    }
}