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 <iterator>
using namespace std;

int main()
{
    int height;
    vector<int> top3;

    while (cin >> height) {
        for (auto it = top3.begin(); it != top3.end(); it++) {
            if (height > *it) {
                it = top3.insert(it, height);
                break;
            }
        }
        if (top3.size() > 3)
            top3.pop_back();
        else if (top3.size() < 3)
            top3.push_back(height);
    }
    
    for (auto h: top3)
        cout << h << endl;

    return 0;
}

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

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

C++: #include<iostream>
using namespace std;
int main(){
  int m[10];
  int ans = 0;
  for(int i=0;i<10;i++){
    cin >> m[i];
  }
  for(int i=0;i<3;i++){
    for(int f=0;f<10;f++){
      if(ans == m[f]){
	m[f] = 0;
      } 
      for(int j=0;j<10;j++){
    if(ans<m[j]){
      ans = m[j];
    }   
      }
    }
    cout << ans <<endl;  
    ans = 0;
  }
  return 0;
}

C++: #include <stdio.h>
void sortarry(int* Array,int n )
{
int Tmp=0;
int i=0;
int j=0;

for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(Array[i]<Array[j] )
{
Tmp=Array[i];
Array[i]= Array[j];
Array[j]= Tmp;
}
}
}

return ;
}

C++: #include <bits/stdc++.h>
using namespace std;
#define REP(i,n) for(int i=0; i<(n); i++)
#define REP2(i,x,n) for(int i=x; i<(n); i++) 
#define ALL(n) (n).begin,(n).end
/*%e9%ab%98%e3%81%84%e5%b1%b1%e4%b8%8a%e3%81%8b%e3%82%893%e3%81%a4%e5%87%ba%e5%8a%9b*/
int main()
{
    vector<int> vc;
    int N;
    while( cin >> N )
    {
        vc.push_back( N );
    }
    sort( vc.begin(), vc.end(), greater<int>() );
    REP( i, 3 )
    {
        cout << vc[ i ] << endl;
    }
    return 0;
}

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

int main(){
    vector<int> v(9);
    for(int i = 0; i< 10; i++){
        cin >> v[i];
    }
   sort(v.begin(),v.end());
   cout << v[0] << endl;
   cout << v[1] << endl;
   cout << v[2] << endl;
}

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){
			a2 = a1;
			a1 = x;
		}
	}

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

	return 0;
}

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

C++: #include <bits/stdc++.h>
using namespace std;

int main(){
  vector<int> vec(10);

  for(int i=0;i<10;i++){
    cin >> vec.at(i);
  }
  sort(vec.begin(),vec.end());
  reverse(vec.begin(),vec.end());

  for(int i=0;i<3;i++){
    cout << vec.at(i) << endl;
  }
}

C++: #include<stdio.h>

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

    for (i = 0; i < 10; i++)
        printf("%d\n", height[i]);

    int max1 = 0;
    for(i = 0; i < 10; i++)
        if (height[i] >= max1)
            max1 = height[i];

    int max2 = 0;
    for(i = 0; i < 10; i++)
        if (max1 >= height[i] >= max2)
            max2 = height[i];

    int max3 = 0;
    for(i = 0; i < 10; i++){
        if (max2 >= height[i] >= max3)
            max3 = height[i];
    }

    printf("%d\n", max1);
    printf("%d\n", max2);
    printf("%d\n", max3);

    return 0;
}

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

int main(){
    int a;
    vector<int> v;
    while(cin >> a) v.push_back(a);
    sort(v.begin(), v.end(), greater<int>());
    printf("%d\n%d\n%d\n", v[0], v[1], v[2]);
    return 0;
}

C++: /*
 * Author: xn_rookie
 * Created Time:  2012/2/19 12:03:13
 * File Name: 
 */
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <cstdlib>
#include <algorithm>
#include <vector>
using namespace std;

int main() {
    vector <int> a;
    a.clear();
    for(int i=1;i<=10;i++)
     {
          int x;
          cin>>x;
          a.push_back(x);
    }
    sort(a.begin(),a.end());
    cout<<a[a.size()-1]<<endl<<a[a.size()-2]<<endl<<a[a.size()-3]<<endl;
    return 0;
}

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

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


int main(void)
{
    int i;
    int num[10];

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

    sort(num, num+10, greater<int>());

    printf("%d\n", num[0]);
    printf("%d\n", num[1]);
    printf("%d\n", num[2]);

    return 0;
}

C++: #include<iostream>
#include<iomanip>
#include<map>
#include<set>
#include<string>
#include<algorithm>
#include<cmath>
#include<vector>
#include<queue>
#include<stack>
#include<cstring>
#include<sstream>
using namespace std;
 
#define P(p) cout<<(p)<<endl
#define rep(i,m,n) for(int i = (m); i < (int)(n); i++)
#define rrep(i,m,n) for(int i=(int)(m); i>=(int)(n); i--)
#define vsort(v) sort(v.begin(), v.end());
#define rvsort(v) sort(v.begin(), v.end(),greater<int>());
#define YES cout<<"YES"<< endl
#define NO cout<<"NO"<<endl
#define Yes cout<<"Yes"<<endl
#define No cout<<"No"<<endl  
#define yes cout<<"yes"<<endl
#define no cout<<"no"<<endl
#define ret return
#define lb(v,n) lower_bound(v.begin(),v.end(),n)
#define ub(v,n) upper_bound(v.begin(),v.end(),n)
#define mae(v) max_element(v.begin(),v.end())
#define mie(v) min_element(v.begin(),v.end())
////////////////////////////////////////////////////////////

int main(){
	vector<long> v(10);
	rep(i,0,10)
		cin >> v[i];
	rvsort(v);
	rep(i,0,3){
		P(v[i]);
	}
	ret 0;
}

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

using namespace std;

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

    sort(height, height + 10, greater<int>());

    printf("%d\n%d\n%d", height[0], height[1], height[2]);
    return 0;

}

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

int main(){
	int hill;
	int tops[3] = {0};
	for(int i = 0; i < 10; i++){
		cin >> hill;
		int j;
		for(j = 0; j < 3; j++){
			if(tops[j] < hill){
				for(int k = 2; k > j; k--){
					tops[k] = tops[k - 1];
				}
				tops[j] = hill;
				break;
			}
		}
	}
	for(int i = 0; i < 3; i++){
		cout << tops[i] << endl;
	}
	return 0;
}

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

using namespace std;

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

    sort(m.rbegin(),m.rend());

    cout << m[0] << endl;
    cout << m[1] << endl;
    cout << m[2] << endl;

    return 0;
}

C++: #include<iostream>
int main(){
	int a[10];
	int b;
	for (int i = 0; i < 10; i++){
		std::cin >> a[i];
	}

	for (int i = 0; i < 9; i++){
		for (int j = i + 1; j < 10; j++){
			if (a[i] < a[j]){
				b = a[i];
				a[i] = a[j];
				a[j] = b;
			}
		}
	}

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

	return 0;
}