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<stdio.h>

int main()
{
	int high[10];
	int cases;
	
	for(int i=0;i<9;i++)
	{
		scanf("%d",&high[i]);
	}
	
	
	for(int i=0;i<9;i++)
	{
		for(int j=i+1; j<10; j++)
		{
			if(high[i] < high[j])
			{
				cases = high[i];
				high[i] = high[j];
				high[j] = cases;
			}
		}
	}
	
	printf("%d\n",high[0]);
	printf("%d\n",high[1]);
	printf("%d\n",high[2]);
	
	return 0;
}

C++: #include <iostream>
#include <vector>
#include <algorithm>
#include <functional>
using namespace std;
int main(void)
{
    int a;
    vector<int> v;
    for (int i = 0; i < 10; i++)
    {
        cin >> a;
        v.push_back(a);
    }
    sort(v.begin(), v.end(), greater<int>());
    cout << v[0] << "\n";
    cout << v[1] << "\n";
    cout << v[2] << "\n";
}

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

C++: #include <stdio.h>
const int N = 15;

int main()
{
	int a[N]={0};
	for(int i = 0; i <= 9; i++)
	{
		scanf("%d", &a[i]);
	}
	for(int i = 0; i <= 9; i++)
	{
		for(int j = i; j <= 9; j++)
		{
			if(a[i] < a[j])
			{
				int tmp = a[i];
				a[i] = a[j];
				a[j] = tmp;
			}
		}
	}
	for(int i = 0; i < 3; i++)
	{
		printf("%d\n", a[i]);
	}
	
	return 0;
}

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

int main()
{
	const int N = 10;
	int A[N];
	const int M = 3;
	int top[M] = {0};

	for(int i = 0; i < N; i++)
		cin>>A[i];

	for(int i = 0; i < N; i++)
	{
		if(top[0] < A[i])
		{
			top[2] = top[1];
			top[1] = top[0];
			top[0] = A[i];
		}
		else if(top[1]<A[i])
		{
			top[2] = top[1];
			top[1] = A[i];
		}
		else if(top[2] < A[i])
			top[2] = A[i];
	}


	for(int i = 0; i < M; i++)
		cout <<top[i] << endl;

	return 0;
}

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

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

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

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

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

C++: #include <stdio.h>
main(){
  int h[10];
  int st,nd,rd,i;
  st = 0;
  nd = 0;
  rd = 0;
  for(i=0;i<10;i++){
    scanf("%d",&h[i]);
    if(h[i]>st){
      rd = nd;
      nd = st;
      st = h[i];
    }else if(h[i]>nd){
      rd = nd;
      nd = h[i];
    }else if(h[i]>rd){
      rd = h[i];
    }
  }
  printf("%d\n%d\n%d\n",st,nd,rd);
}

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

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

C++: #include<iostream>

int main(void)
{
	int i,max,tmp,high[10];

	for(i=0;i<10;i++){
		std::cin >> high[i];
	}

	for(i=0;i<3;i++){
		for(j=1,max=high[0];j<10;j++){
			if(max<high[j]){
				max=high;
				tmp=j;
			}
		}
		high[tmp]=0;
		std::cout << max << std::endl;
	}
	return 0;
}

C++: //
// Created by tac on 2016/10/27.
//

#include <cstdlib>
#include <algorithm>
#include <functional>
#include <vector>
#include <iostream>

const int N_SIZE = 10000;

int main() {
    std::vector<int> v(N_SIZE);
    int n = 10;
    int s;
    for (int i = 0; i < n; ++i) {
        std::cin >> s;
        v.push_back(s);
    }
    std::sort(v.begin(), v.end(), std::greater<int>());
    for (int j = 0; j < 3; ++j) {
        std::cout << v[j] << std::endl;
    }
    return EXIT_SUCCESS;
}

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

int main() {
	constexpr int MAX_N = 10;
	vector<int> height(3, 0);

	for(int i = 0; i < MAX_N; ++i) {
		int h;
		cin >> h;

		for(int j = 0; j < 3; ++j) {
			if(height[j] < h) {
				swap(height[j], h);
			}
		}
	}

	for(const auto &e : height) {
		cout << e << "\n";
	}

	return EXIT_SUCCESS;
}

C++: #include <iostream>
using namespace std;
int main(void){
    int s,w,t,y,roop,i;
    s=0;
    w=0;
    t=0;
    roop=0;
    while(1){
        roop=roop+1;
        cin>>y;
        if(y>t){
            i=3;
            if(y>w){
                i=2;
                if(y>s){
                    i=1;
                }
            }    
        }
        if(i==1){swap(y,s);}else if(i==2){swap(y,w);}else if(i==3){swap(y,t);}
        if(roop>=10){
            break;
        }
        i=0;
    }
    cout<<s<<endl;
    cout<<w<<endl;
    cout<<t<<endl;
}

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

using namespace std;

int main()
{
    int height[10];
    int n = sizeof(height)/sizeof(height[0]);
    for(int x = 1; x <= 10; x++){
        cin >> height[x];//input
        if (height[x] > 10000 || height[x] < 0){
            cin >> height[x];
        }
        else{};
    }
    cout << endl;
    sort(height, height+n,greater<int>());
    cout << height[0] << endl;
    cout << height[1] << endl;
    cout << height[2] << endl;
    return 0;
}

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

using namespace std;

int main ()
{
    int buf;
    priority_queue<int> qu;
    
    for (int i=0; i<10; i++) {
        cin >> buf;
        qu.push(buf);
    }
    
    cout << qu.top() << '\n';
    qu.pop();
    cout << qu.top() << '\n';
    qu.pop();
    cout << qu.top() << '\n';
    
    return 0;
}

C++: #include<iostream>
#include<vector>
#include<algorithm>
int main(void){
std::vector<int> h;
int tmp;
while(std::cin>>tmp){
h.push_back(tmp);
}
std::sort(h.begin(),h.end());
std::uniq(h.begin(),h.end());
for(int i=0;i<3;i++){
std::cout<<h[i]<<std::endl;
}
 
return 0;
}

C++: #include <bits/stdc++.h>
using namespace std;
int main(){
  int i,a[10];
  for(i=0;i<10;i++)cin>>a[i];
  sort(a,a+10);
  cout<<a[9]<<endl<<a[8]<<endl<<a[7]<<endl;
}

C++: #include <algorithm>
#include <map>
#include <vector>
#include <iostream>
#include <sstream>
#include <cstdio>
#include <cstring>
#include <cctype>
#include <cstdlib>
#include <cmath>
#include <string>
#include <queue>
using namespace std;

#define REP(i,n) for(int i=0; i<n; ++i)
#define IREP(it,array) for(vector<int>::iterator it=array.begin(); it!=array.end(); ++it)
#define SREP(it,array) for(vector<string>::iterator it=array.begin(); it!=array.end(); ++it)
#define MP make_pair


int main()
{
  cout.setf(ios::fixed, ios::floatfield);
  cout.precision(10);

  int INF = 1000000;

  vector<int> m;
  int hei;
  while(cin >> hei){
    m.push_back(hei);
  }

  sort(m.begin(), m.end(), greater<int>());

  REP(i,3)
    cout << m[i] << endl;

  return 0;
}

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

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