Go: package main

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

var rdr = bufio.NewReaderSize(os.Stdin, 1000000)

func readLine() string {
	buf := make([]byte, 0, 1000000)
	for {
		l, p, e := rdr.ReadLine()
		if e != nil {
			panic(e)
		}
		buf = append(buf, l...)
		if !p {
			break
		}
	}
	return string(buf)
}

func toInt(str string) int {
	n, _ := strconv.Atoi(str)
	return n
}

func main() {
	lst := make([]int, 0)
	for i := 0; i < 10; i++ {
		lst = append(lst, toInt(readLine()))
	}
	sort.Ints(lst)
	for i := 9; i > 6; i-- {
		fmt.Println(lst[i])
	}
}

C++: #include <iostream>
#include <algorithm>
using namespace std;
int main(){
	int num = 0;
	int mountains[10] = { 0 };
	for (int i = 0; i < 10; i++){
		cin >> mountains[i];
	}
	sort(mountains[0],mountains[9]);
	cout << mountains[0] << endl;
	cout << mountains[1] << endl;
	cout << mountains[2] << endl;
	return 0;
}

C++: #include <iostream>

using namespace std;

static const int ARRAY_NUM = 10;

class sort{
private:
	int tmp;
public:
	int* bable(int a[]);
};

int* sort::bable(int a[]){
	for(int i=0;i<ARRAY_NUM;++i){
		for(int j=ARRAY_NUM-1;j>i;--j){
			if(a[j]>a[j-1]){
				tmp    = a[j-1];
				a[j-1] = a[j];
				a[j]   = tmp;
			}
		}
	}
	return a;
}

int main(void){

	//int *array = new int [5];
	sort sort;
	int hgt_mt[10];
	int* hgt_max;

	cout << "input height of mountain" << endl;

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

	hgt_max = sort.bable(hgt_mt);

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

	return 0;
}

C++: #include<algorithm>
#include<iostream>
using namespace std;
int main(){
    int x[10];
    for(int i=0;i<10;++i) cin>>x[i];
    sort(x,x+10,greater<>());
    for(int i=0;i<3;++i) cout<<x[i]<<endl;
}

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

int main(){
	int i=0;
	int m[10];
	for(i=0;i<10;i++)
	{
		cin>>m[i];
		while(0>m[i]||m[i]>10000)
			cin>>m[i];

	}
	
  sort(m[0], m[9], greater<int>());
	
	cout<<m[0]<<endl<<m[1]<<endl<<m[2]<<endl;

    return 0;
}

C++: #include<stdio.h>

int main(){
	int a1 = 0, a2 = 0, a3 = 0;

	int x;
	for(int i = 0; i < 10; i++){
		scanf("%d", &x);
		if(x > a3){
			a3 = x;
		}
		if(x > a2){
			a3 = a2;
			a2 = x;
		}
		if(x > a1){
			a3 = a2;
			a2 = a1;
			a1 = x;
		}
	}

	printf("%d\n%d\n%d\n", a1, a2, a3);

	return 0;
}

C++: #include<iostream>
#include<iomanip>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<stack>
#include<cstdio>
#include<queue>
#define PI 3.1415927
using namespace std;
int main() {
	int h[11];
	for (int i = 0; i < 10; i++) {
		cin >> h[i];
	}
	sort(h, h + 10);
	for (int i = 0; i < 3; i++) {
		cout << h[i] << endl;
	}
}

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

using namespace std;

int main(){
  vector<int> vi;
  for(int i=0;i<10;i++){
    int buf;
    cin >> buf;
    vi.push_back(buf);
  }

  sort(vi.begin(),vi.end());

  for(int i=1;i<=3;i++){
    cout<< vi[vi.size()-i] << endl;
  }
}

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

int main(){
	const int N = 10;
	
	int mountain[N];

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

	int _1st = 0;
	int _2nd = 0;
	int _3rd = 0;

	for (int i = 0; i < N; i++){
		if (mountain[i]>_1st){
			_3rd = _2nd;
			_2nd = _1st;
			_1st = mountain[i];
		}
		else if (mountain[i] > _2nd){
			_3rd = _2nd;
			_2nd = mountain[i];
		}
		else if (mountain[i] > _3rd){
			_3rd = mountain[i];
		}
	}
	cout << _1st << endl;
	cout << _2nd << endl;
	cout << _3rd << endl;

	return 0;
}

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

using namespace std;

int main(){

	int A[10];

	cin >> A[0] >> A[1] >> A[2] >> A[3] >> A[4] >> A[5] >> A[6] >> A[7] >> A[8] >> A[9];


	sort(A, A+10);

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

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);
	reverse(a, a + 10);
	for (int i = 0; i < 3; i++) {
		cout << a[i] << endl;
	}
}

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

using namespace std;

int data;
int mountain[10001];
int i=0;

int main(){
	while(scanf("%d",&data) != EOF){
		mountain[i] = data;
		i++;
	}

	sort(mountain, mountain + 10001);

	for(int i=0;i<3;i++){
		printf("%d\n",mountain[i]);
	}

    return 0;
}

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

using namespace std;


int main()
{
	int a[10];
	for (int s=0; s <= 9; s++)
	{
		cin >> a[s];
	}
	sort(a, a + 10, greater<int>());
	cout << a[0] << endl << a[1] << endl << a[2] << endl;
	return 0;
}

C++: #include<iostream>
using namespace std;
int main(){
	int a[10],b,c;
	for(int i=0;i<10;i++){
		cin>>a[i];
	}
	for(int i=0;i<10;i++){
		for(int j=9;j>i;j--){
			if(a[j]<a[j-1]){
				b=a[j];
				a[j]=a[j-1];
				a[j-1]=b;
			}
		}
	}
	cout<<a[9]<<'\n'<<a[8]<<'\n'<<a[7]<<endl;
	return 0;
}

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

using std::cin;
int main(){
	int a[10];
	int b;
	for(int i=0;i<10;i++){
		cin >> a[i];
	}   int mou1,mou2,mou3;
			mou1=a[0];
	    for(int i=0;i<10;i++){
		
		if(mou1<a[i]){
				mou1=a[i];
				b=i;
		}
		}
		a[b]=0;
		mou2=a[0];
		 for(int i=0;i<10;i++){
		
		if(mou2<a[i]){
				mou2=a[i];
				b=i;
				
		}
		}a[b]=0;
		 mou3=a[0];
		  for(int i=0;i<10;i++){
		
		if(mou3<a[i]){
				mou3=a[i];
				b=i;
				
		}
		}
		cout<<mou1<<"\n"<<mou2<<"\n"<<mou3;

	return 0;

}

C++: #include <iostream>
#include <queue>
#include <vector>
using namespace std;
 
int main()
{
    priority_queue< int,vector<int>,less<int> > que;
    int in;
 
    for(int i = 0; i < 10; i++){
        cin >> in;
        que.push(in);
    }
 
 
    for(int j = 0; j < 3; j++){
        cout << que.top() << '\n';
        que.pop();
    }
 
    return 0;
}

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

int main()
{
    std::multiset< int, std::greater<int> > s;
    for (int i = 0; i < 10; ++i) {
        int h;
        std::cin >> h;
        s.insert(h);
    }
    std::multiset< int, std::greater<int> >::iterator it = s.begin();
    for (int i = 0; i < 3; ++i)
        std::cout << *it++ << std::endl;
}

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

using namespace std;

inline int toInt(string s) {int v; istringstream sin(s);sin>>v;return v;}
template<class T> inline string toString(T x) {ostringstream sout;sout<<x;return sout.str();}
template<class T> inline T sqr(T x) {return x*x;}

typedef vector<int> vi;
typedef vector<vi> vvi;
typedef vector<string> vs;
typedef pair<int, int> pii;
typedef long long ll;

#define all(a)  (a).begin(),(a).end()
#define rall(a) (a).rbegin(), (a).rend()
#define pb push_back
#define mp make_pair
#define each(i,c) for(typeof((c).begin()) i=(c).begin(); i!=(c).end(); ++i)
#define exist(s,e) ((s).find(e)!=(s).end())
#define range(i,a,b) for(int i=(a);i<(b);++i)
#define rep(i,n)  range(i,0,n)
#define clr(a,b) memset((a), (b) ,sizeof(a))
#define dump(x)  cerr << #x << " = " << (x) << endl;
#define debug(x) cerr << #x << " = " << (x) << " (L" << __LINE__ << ")" << " " << __FILE__ << endl;

const double eps = 1e-10;
const double pi  = acos(-1.0);
const ll INF =1LL << 62;
const int inf =1 << 24;

int main(void){
    vi a(10);

    for(auto && aa : a){
        cin >> aa;
    }

    sort(all(a), greater<int>());

    rep(i, 3) cout << a[i] << endl;

	return 0;
}

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

int main(){

	int a[10];
	cin >> a[0] >> a[1] >> a[2] >> a[3] >> a[4] >> a[5] >> a[6] >> a[7] >> a[8] >> a[9];
	int i,j;
	int hensuu;
	for(i=0;i<10;i++){
		for(j=0;j<9;j++){
			if(a[j+1]>a[j]){
				hensuu=a[j+1];
				a[j+1]=a[j];
				a[j]=hensuu;
			}
		}
	}
	cout << a[0] << "\n" << a[1] << "\n" << a[2] << endl;

    return 0;
}