#include<iostream>

#define     MAX_NUMBER              10
#define     MOUNTAIN_HEIGHT_MIN     0
#define     MOUNTAIN_HEIGHT_MAX     10000
#define     MAX_SHOW_NUMBER         3

using namespace std;

int main(){
	int i,j;
	int num[MAX_NUMBER];
	bool flag;

	// MAX_NUMBER の値をチェック (プログラマのミスを防ぐ)
	if(((int)MAX_NUMBER) <= 0){
		cerr << "エラー：MAX_NUMBERの値が0以下です" << endl;
		return -1;
	}

	// 値の入力・チェック
	for(i=0;i<((int)(MAX_NUMBER));i++){
		// 値の入力
		cin >> num[i];
		// 値のチェック
		if(num[i] < ((int)MOUNTAIN_HEIGHT_MIN)){
			cerr << "エラー：" << i <<"番目の山の高さが" << ((int)MOUNTAIN_HEIGHT_MIN) << "メートル未満です" << endl;
			return -1;
		}else if(num[i] > ((int)MOUNTAIN_HEIGHT_MAX)){
			cerr << "エラー：" << i <<"番目の山の高さが" << ((int)MOUNTAIN_HEIGHT_MAX) << "メートルより大きいです" << endl;
			return -1;
		}
	}

	// 並び替えループ
	do{
		flag = false;
		for(i=0;i < (((int)(MAX_NUMBER)) - 1);i++){
			if(num[i] < num[i+1]){
				j = num[i];
				num[i] = num[i+1];
				num[i+1] = j;
				flag = true;
			}
		}
	}while(flag == true);

	for(i=0;i<((int)(MAX_SHOW_NUMBER));i++){
		cout << num[i] << endl;
	}

	return 0;
}