Go: package main

import (
	"bufio"
	"fmt"
	"os"
	"sort"
	"strconv"
)

var sc = bufio.NewScanner(os.Stdin)

func read() string {
	sc.Scan()
	return sc.Text()
}

func main() {
	sc.Split(bufio.ScanLines)

	s := make([]int, 10)
	for i := 0; i < 10; i++ {
		s[i], _ = strconv.Atoi(read())
	}
	sort.Sort(sort.Reverse(sort.IntSlice(s)))
	fmt.Println(s[0])
	fmt.Println(s[1])
	fmt.Println(s[2])
}

C++: #include<algorithm>
#include<iostream>
using namespace std;

int main(){
	int height[10];
	for(int i=0; i<10; i++) cin >> height[i];
	sort(height, height+10,greater<int>());
	for(int i=0; i<3; i++){
		cout << height[i] << endl;
	}

    return 0;
}

C++: #include <iostream>
#include <array>
#include <algorithm>

int main() {
	std::array<int, 10> heights;
	for (auto& val : heights)
		std::cin >> val;
	std::sort(heights.begin(), heights.end(), [](int x, int y){return x > y;});
	for (int i = 0; i < 3; ++i)
		std::cout << heights[i] << std::endl;
	return 0;
}

C++: #include <bits/stdc++.h>

using namespace std;

int main() {
	vector<int> heights;
	int meter;

	for(int index = 0; index < 10; ++index) {
		cin >> meter;
		heights.push_back(meter);
	}
	
	sort(heights.begin(), heights.end());
	
	cout << heights[9] << endl;
	cout << heights[8] << endl;
	cout << heights[7] << endl;
	
	return 0;
}

C++: #include <iostream>
#include <set>
using namespace std;

int main() {
	multiset<int, greater<int>> mul;
	int itr = 0; int temp;
	while (cin >> temp) { mul.insert(temp); }
	for (auto x : mul) { 
		cout << x << endl; itr++;
		if (itr == 3) break;
	}
	return 0;
}

C++: #include <iostream>
#include <set>

int main() {
	using namespace std;
	set<int> setHom;

	for (int i = 0; i < 10; ++i) {
		int iHom;
		cin >> iHom;
		setHom.insert(iHom);
	}

	set<int>::reverse_iterator rit = setHom.rbegin();
	for (int i = 0; i < 3; ++i, ++rit) {
		cout << *rit << endl;
	}

	return 0;
}

C++: #include <iostream>
#include <vector>
#include <algorithm>

int main(){
  int array[10];
  
  for(int i=0; i<10; i++){
    std::cin >> array[i];
  }
  
  std::vector<int> vector(array, array+10);
  std::sort(vector.begin(), vector.end(), std::greater<int>);
  for(int i=0; i<3; i++){
    std::cout << vector[i] << std::endl;
  }
  
  return 0;
}

C++: #include <iostream>
#include <vector>
using namespace std;

int main() {
    vector<int> input;
    for (int i = 0; i < 10; i++) {
        int tmp;
        cin >> tmp;
        input.push_back(tmp);
    }
    sort(input.rbegin(), input.rend());
    for (int i = 0; i < 3; i++) {
        cout << input[i] << endl;
    }
}

C++: #include <iostream>
#include <algorithm>
#include <vector>

int main ()
{
	std::vector<int> h (10);
	int a;

	while (std::cin >> a) {
		h.push_back (a);
	}
	std::sort (begin (h), end (h));
	std::vector<int>::reverse_iterator it = rbegin (h);
	std::cout << *it++ << std::endl;
	std::cout << *it++ << std::endl;
	std::cout << *it++ << std::endl;
}

C++: #include <iostream>
#include <algorithm>

using namespace std;

int main(void)
{
	int input[10];

	for(int i = 0; i < 10; i++){
		cin >> input[i];
	}


	for(int i = 3; i < 10; i++){
		for(int j = 0; j < 3; j++){
			if(input[i] > input[j]){
				input[j] = input[i];
				break;
			}
		}
	}

	sort(input, input+3);

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


	return 0;
}

C++: #include <cstdio>
#include <algorithm>
#include <functional>

using namespace std;

int main(void){
	int m[10], i;
	for(i = 0;i < 10;i++){
		scanf("%d",&m[i]);
	}
	sort(m,m + 10,greater<int>());
	for(i = 0;i < 3;i++){
		printf("%d\n",m[i]);
	}
	return 0;
}

C++: #include<iostream>]
#include<algorithm>
#include<vector>
using namespace std;
int main(){vector<int> a(10);int i=0;for(;i++<10;)cin>>a[i];sort(a.begin(),a.end());cout<<a[9]<<"\n"<<a[8]<<"\n"<<a[7]<<endl;}

C++: #include <iostream>
#include <string>
using namespace std;
 
int main(){
int rank[3],a[10],i = 0,ii = 0;
rank[0] = 0;
rank[1] = 0;
rank[2] = 0;
while(i <= 9){
	cin >> a[i];
	while(ii <= 2){
		if(rank[ii] == 0){
			rank[ii] = a[i];
		}else{
			if(rank[ii] < a[i]){
				rank[ii] = a[i];
				break;
			}
		}
		ii++;
	}
i++;
ii = 0;

}
cout<<rank[0]<<endl<<rank[1]<<endl<<rank[2]<<endl;




}

C++: #include <iostream>
using namespace std;

void Sort(int array[],int n)
{
    int i,j,temp;
    
    for (i = 0;i < n - 1;i++) {
        for (j = 0;j < n - 1;j++) {
            if (array[j + 1] < array[j]) {
                temp = array[j];array[j] = array[j + 1];array[j + 1] = temp;
            }
        }
    }
}

int main()
{
  int heights[10];
  for(int i=0;i<10;i++){
    cin >> heights[i];
  }

  Sort(heights, 10);

  cout << heights[9] << endl << heights[8] << endl << heights[7] << endl;
  return 0;
}

C++: #include<iostream>
#include<functional>
#include<algorithm>
#include<vector>
using namespace std;
int main()
{ 
	int temp;
	vector<int>a;
	for(int i=0;i<10;i++){
		cin >> temp;
		a.push_back(temp);
	}
	sort(a.begin(),a.end());
	cout << a[9] << endl << a[8] << endl << a[7] << endl;
	return 0;
}

C++: #include<iostream>
using namespace std;

int main(){
    int temp;
    int key=-1;
    int data[3]={0};
    for(int i=0;i<10;i++){
        cin>>temp;
        for(int j=0;j<3;j++){
            if(temp>data[j])
            key=j;
        }
        if(key>=0){
            data[key]=temp;
            key=-1;
        }
    }
    for(int i=2;i>-1;i--){
        cout<<data[i]<<endl;
    }
        return 0;
}

C++: #include <iostream>
#include <algorithm>

using namespace std;

int main() {
    int a[10]={};
    for(int i=0; i<10; i++){
        cin >> a[i];
    }
    sort(a,a+10);
    for(int i=9; i>6; i--){
        cout << a[i] << endl;
    }
    return 0;
}

C++: #include<iostream>

using namespace std;

int i[10] = { };

int MaxPoint() {
	/*?????????????????§??????????????\????????????????????????????????§?????????
	???????????????????????§??????????????\??????*/
	int high=0,ret = 0;

	for (int root = 0; root < 10; root++) {
		//????????????????¬?????????¨??????????????????
			if (i[root] > high) {
					high = i[root];//?????§???????¨???¶???????????????	
					ret = root;
				}
	}
	
	return ret;
}

int main() {

	for (int n = 0; n < 10; n++)cin >> i[n];

	int SaidaiBasho; 

	for (int mawaru = 0; mawaru < 3; mawaru++) {
		SaidaiBasho = MaxPoint();
		cout << i[SaidaiBasho] << endl;
		i[SaidaiBasho] = 0;
	}
}

C++: #include <iostream>
#include <vector>
#include <string>

int main() {
    std::vector<int> hills;
    for (int i = 0; i < 10; i++) {
        std::cout << i << std::endl;
        std::string input;
        std::cin >> input;
        int height = std::stoi(input);
        hills.push_back(height);
    }

    std::sort(hills.begin(), hills.end(), std::greater<int>());
    for (int i = 0; i < 3; i++) {
        std::cout << hills[i] << std::endl;
    }

    return 0;
}

C++: #include <bits/stdc++.h>
#include <iostream>
#include <string>
using namespace std;
int main(){
  int m[10];
  for(int i = 0; i < 10; i++){
    cin >> m[i];
  }
   int i,j,p;
    for(int i = 0; i < 10; i++) {
    for(int j = 9; j > i; j--) {
      if(m[j] < m[j - 1]) {
        p = m[j];
        m[j] = m[j - 1];
        m[j - 1] = p;
      }
    }
    }
  cout << m[9] << endl;
  cout << m[8] << endl;
  cout << m[7] << endl;
}

C++: #include <iostream>
#include <string>
#include <utility>
#include <algorithm>
#include <queue>
#include <map>

using namespace std;
typedef long long I;
#define REP(i , x) for(int i = 0 ; i < x ; ++i)

int mo[10];

int main()
{
	REP(i, 10){
		cin >> mo[i];
	}
	sort(mo, mo + 10);

	cout << mo[9] << endl;
	cout << mo[8] << endl;
	cout << mo[7] << endl;

	return 0;
}

C++: #include <bits/stdc++.h>
//#include "bits/stdc++.h"

#define rep(i,n) for(ll (i)=0;(i)<(ll)(n);(i)++)
#define all(x) (x).begin(),(x).end()
#define MOD 1000000007LL
#define INF (1LL<<60LL)
#define int long long
typedef long long ll;

using namespace std;



signed main() {
	vector<ll> v(10);
	rep(i, 10) cin >> v[i];
	sort(all(v));
	reverse(all(v));
	rep(i, 3) cout << v[i] << endl;
}