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 <vector>
#include <algorithm>
using namespace std;

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

C++: #include <iostream>
#include <vector>
using namespace std;
 
 
 
int main() {
 
//変数の宣言
 
    int i,j,temp;
    vector<int> hight;
 
 
/////メイン処理/////
 
    for(i=0;i<10;i++){
        cin >> temp;
        hight.push_back(temp);
    }
     
    for(j=0;j<hight.size()-1;j++){
        for(i=0;i<hight.size()-1-j;i++){
            if (hight[i] > hight[i+1]) {
                temp = hight[i];
                hight[i] = hight[i+1];
                hight[i+1] = temp;
            }
        }
    }
     
    for(i=0;i<3;i++){
        cout << hight[hight.size() -i -1] <<endl;
    }
     
    return 0;
}

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

// http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0001

int main() {
	int arr[10];
	for (int i = 0; i < 10; i++) cin >> arr[i];
	for (int i = 0; i < 9; i++)
		for (int j = 1; j <= 9; j++) {
			if (arr[j - 1] < arr[j]) {
				int t = arr[j];
				arr[j] = arr[j - 1];
				arr[j - 1] = t;
			}
		}
	
	for (int i = 0; i < 3; i++) cout << arr[i] << endl;
	return 0;
}

C++: #include<bits/stdc++.h>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cctype>

#include<cmath>
#include<iostream>
#include<fstream>

#include<string>
#include<vector>
#include<queue>
#include<map>
#include<algorithm>
#include<set>
#include<sstream>
#include<stack>

using namespace std;


int main()
{

    long long int n,i=0,j,a,b,c,ln,my=0,ck=0;
    int arr[10];

    for(i=0; i<10; i++){
       cin>>arr[i];
    }
    sort(arr, arr+10);

    cout<<arr[9]<<endl;
    cout<<arr[8]<<endl;
    cout<<arr[7]<<endl;
}

C++: #include <stdio.h>

int main()
{
	int vc[10];
	int i;
	int max=0,sec=0,thi=0;

	for(i=0;i<10;i++){
		scanf("%d",&vc[i]);
	}

	printf("\n");
	for(i=0;i<10;i++){
		if(max <= vc[i])
			max = vc[i];
	}

	for(i=0;i<10;i++){
		if(sec <= vc[i] && vc[i] < max)
			sec = vc[i];
	}

	for(i=0;i<10;i++){
		if(thi <= vc[i] && vc[i] < sec)
			thi = vc[i];
	}

	printf("%d\n%d\n%d\n",max,sec,thi);

	return 0;
}

C++: #include <iostream>

using namespace std;

int main(){
	int h[2];
	int i,j;
	for(i=0;i<=2;i++) h[1] = 0;
	for(i=0;i<=9;i++){
		cin>>j;
		if(j >= h[1]) h[1] = j;
		else if (i >= h[2]) h[2] = j;
		else if (i >= h[3]) h[3] = j;
		else continue;
	}
	for(i=0;i<=2;i++){
		cout<<h[i]<<endl;
	}
	return 0;
}

C++: #include <iostream>
using namespace std;
int main(void){
    int hight[10], i, j, tmp;
    
    for(i = 0; i < 10; i++) 
        cin >> hight[i];
    
    for(i = 0; i < 10; i++){
        for(j = i + 1; j < 10; j++){
            if(hight[i] >= hight[j]){
                tmp = hight[i];
                hight[i] = hight[j];
                hight[j] = tmp;
            }
        }
    }
    
    for(i = 9; i > 6; i--){
        cout << hight[i] << endl;
    }
}

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

using namespace std;

int main()
{
	const int LENGTH = 10;

	int mountain[LENGTH];
	for(auto& i : mountain)
		cin >> i;

	sort(mountain, mountain+LENGTH, greater<int>());

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

C++: #include<stdio.h>
int main(void)
{
	int a, b, max = 0, max2 = 0, max3 = 0;
	for(a = 1; a <= 10; a++) {
		scanf("%d", &b);
		if(b > max) {
			max = b;
		}
		else if(b > max2) {
			max2 = b;
		}
		else if(b > max3) {
			max3 = b;
		}
	}
		printf("%d\n %d\n %d\n", max, max2, max3);
		return 0;
}

C++: #include <cstdio>
#include <cstdlib>
#include <cmath>
#include <climits>
#include <cfloat>
#include <map>
#include <utility>
#include <set>
#include <iostream>
#include <memory>
#include <string>
#include <vector>
#include <algorithm>
#include <functional>
#include <sstream>
#include <complex>
#include <stack>
#include <queue>
#include <numeric>
#include <iomanip>

#define REP(i,n) for(i=0; i < (n); i++)
#define REPONE(i, n) for(i=1; i <= (n); i++)
#define LOOP(n) for(int loopCount=1; loopCount <= (n); loopCount++)
#define ITER(c) __typeof((c).begin())
#define EACH(c,it) for(ITER(c) it =(c).begin(); it!=(c).end(); it++)
#define SZ(c) ((int) (c).size())
#define ALL(c) c.begin(), c.end()
#define SUM(c) accumulate(ALL(c), 0)
#define EXIST(c,v) (find(ALL(c), (v)) != (c).end())
#define PB push_back
#define MP make_pair

using namespace std;
static const double EPS = 1e-9;
static const double PI = 3.141592653589793238462643383279;
typedef long long ll;

int main(){
    vector<int> hs;
    int x;
    LOOP(10){
        scanf("%d", &x);
        hs.PB(x);
    }
    sort(ALL(hs), greater<int>());
    printf("%d\n", hs[0]);
    printf("%d\n", hs[1]);
    printf("%d\n", hs[2]);
    return 0;
}

C++: #include<stdio.h>

int main(void)
{
	int h[10], i, j, x;
	for(i=0; i<10; i++)
	{
		scanf("%d", &h[i]);
	}
	for(i=0; i<10; i++)
	{
		for(j=i+1; j<10; j++)
		{
			if(h[i]<h[j])
			{
				x=h[i];
				h[i]=h[j];
				h[j]=x;
			}
		}
	}
	for(i=0; i<3; i++)
	{
		printf("%d\n", h[i]);
	}
	
	return 0;
}

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

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

C++: #include <studio.h>
#include <iostream>

intmain(){

int 1st, 2nd, 3rd, i, mou[10];

1st = 0;
2nd = 0;
3rd = 0;


for(i=1:i=<10:i++){
	cin >> mou[i];
	if(mou[i] > 1st){
		3rd = 2nd;
		2nd = 1st;
		1st = mou[i];
		break;
	}
	if(mou[i] > 2nd){
		3rd = 2nd;
		2nd = mou[i];
		break;
	}
	if(mou[i] > 3rd){
		3rd = mou[i];
		break;
	}
}

cout << 1st << "\n" << 2nd << "\n" << 3rd << endl;

return 0;
}

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

C++: #include <iostream>

int main(int argc, const char * argv[])
{
    using namespace std;
    int max = 0;
    int second = 0;
    int third = 0;
    
    int n[10];
    int swap;
    
    for(int i = 0; i < 10; i++) {
        cin >> n[i];
    }
    for(int i = 0; i < 10; i++) {
        if(max < n[i]) {
            if(max > second) {
                swap = second;
                second = max;
                if (swap > third) {
                    third = swap;
                }
            }
            if (second > third) {
                third = second;
            }
            max = n[i];
        }
        else if(second < n[i]) {
            if (third > second) {
                third = second;
            }
            second = n[i];
        }
        else if(third < n[i]) {
            third = n[i];
        }
    }
    
    cout << max << "\n" << second << "\n" << third << "\n";
    return 0;
}

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

using namespace std;

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    int h[10];
    for(int i=0; i<10; i++) {
        cin>>h[i];
    }
    for(int i=0; i<3; i++) {
        for(int j=9; j>i; --j) {
            if(h[j-1]<h[j]) swap(h[j-1], h[j]);
        }
    }
    for(int i=0; i<3; i++) cout<<h[i]<<'\n';
    return 0;
}