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: Time Limit Exceeded)

#include<stdio.h>

int main(void)
{
	int i,j,k;
	int mountain[10];
	int top[3];
	for(i=0;i<3;i++){
		top[i]=0;
	}
	for(i=0;i<10;i++){
		printf("山の高さ%d(整数):",i+1);
		scanf("%d",&mountain[i]);
		if(0<=mountain[i]||mountain[i]<=10000){
			printf("0以上10000以下を入力してください\n");
			i--;
		}
	}
	for(i=0;i<10;i++){
		for(j=0;j<3;j++){
			if(top[j]<mountain[i]){
				if(j==0){
					top[2]=top[1];
					top[1]=top[0];
					top[0]=mountain[i];
					j=3;
				}
				else if(j==1){
					top[2]=top[1];
					top[1]=mountain[i];
					j=3;
				}
				else if(j==2){
					top[2]=mountain[i];
					j=3;
				}
			}
		}
	}
	for(i=0;i<3;i++){
		printf("%d\n",top[i]);
	}
	return 0;
}