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

int main()
{
  int mt[10];
  int high[3];
  int height;
  

  for(int i=0;i<=9;i++)
    {
      cin >> height;
      mt[i] = height;
    }

  for(int i=0;i<=2;i++)
    {
      high[i] = 0;
    }

  for(int i=0;i<=9;i++)
    {
      if(mt[i]>=high[2])
	{
	  high[2] = mt[i];
	}
      if(mt[i]>=high[1])
	{
	  high[2] = high[1];
	  high[1] = mt[i];
	}
      if(mt[i]>=high[0])
	{
	  high[2] = high[1];
	  high[1] = high[0];
	  high[0] = mt[i];
	}
    }

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

  return 0;
}

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

int main(){
 int mountain,first=0,second=0,third=0;
 for(int i=0;i<10;i++){
  cin>>mountain;
  if(mountain>first){
   third=second;
   second=first;
   first=mountain;
  }else if(mountain>second){
   third=second;
   second=mountain;
  }else if(mountain>third){
   third=mountain;
  }
 }
 count<<first<<'\n'<<second<<'\n'<<third;
 return 0;
}

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

using namespace std;

int main()
{
  int a[10];

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

  return 0;
}

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

using namespace std;

const int N = 10;
int a[N];

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

C++: #include <stdio.h>
int main(void){
    int a=0,b=0,c=0,n;
    while(scanf("%d",&n)>0){
        if(n>c)c=n;
        if(c>b)n=b,b=c,c=b;
        if(b>a)n=a,a=b,b=a;
    }
    printf("%d\n%d\n%d\n",a,b,c);
    return 0;
}

C++: #include<iostream>
#include<iostream>
#include<algorithm>
using namespace std;
int a[15];
int main()
{
    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;
}

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

int main(void) {
    priority_queue<int> que;
    for(int r = 0; r < 10; r++) {
        int input; cin >> input;
        que.push(input);
    }
    for(int r = 0; r < 3; r++) {
        cout << que.top() << endl; que.pop();
    }
    return(0);
}

C++: /*****include*****/
#include <iostream>
#include <fstream>

/*****デバッグ定義*****/
//#define DEBUG
/*****マクロ定義*****/

/*****名前空間*****/
using namespace std;

/*****グローバル変数置き場*****/
int height[10];

/*****その他関数置き場*****/
void Q_sort(int left,int right){
	int threshold = (height[left] + height[right])/2;
	int i;
	int j;
	i = left;
	j = right;
	do{
		while(height[i] < threshold)	i++;
		while(height[j] > threshold)	j--;
		if(i <= j){
			int swap = height[i];
			height[i] = height[j];
			height[j] = swap;
			i++;
			j--;
		}
	}while(i <= j);
	if(j > left)	Q_sort(left,j);
	if(i < right)	Q_sort(i,right);
}
/*****main関数*****/
int main(){
	/*****ファイルオープン*****/
#ifdef DEBUG
	ofstream fout("output.txt");
	ifstream fin("input.txt");
	if(!fout || !fin){
		cout << "Can't open the file.\n";
		return;
	}
#endif
	/*****変数置き場*****/
	for(int i=0;i<10;i++)	cin >> height[i];
	Q_sort(0,9);
	for(int i=0;i<3;i++)	cout << height[9-i] << endl;
	/*****処理部*****/

	/*****処理終了後*****/
#ifdef DEBUG
	fout.close();
	fin.close();
#endif
	return 0;
}

C++: #include<iostream> 
using namespace std; 
int main() 
{ 
	int a, b, c, max, med, min;
	cin >> a >> b >> c;
	if (a > b) {
		max = a; med = b;
	}
	else { max = b; med = a; }
	if (c > max) { min = med; med = max; max = c; }
	else if (c > med) { min = med; med = c; }
	else min = c;
	for (a = 0; a < 7; a++)
	{
		cin >> c;
		if (c > max) { min = med; med = max; max = c; }
		else if (c > med) { min = med; med = c; }
		else if (c>min) min = c;
	}
	cout << max << '\n' << med << '\n' << min << endl;
	return 0; 
}

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

using namespace std;

int main()

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

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

using namespace std;
int main(){
	vector<int> m(10);
	for(int i = 0; i < 10; i++)
		scanf("%d\n", &m[i]);
	sort(m.begin(), m.end());
	for(int i = 0; i < 3; i++)
		printf("%d\n", m[9-i]);
	return 0;
}

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

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

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

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

  return 0;
}

C++: #include <stdio.h>
const int N = 15;
int main ()
{
	int a[N] = {0};
	for(int i = 0; i < 10; i++)
	{
		scanf("%d", &a[i]);
	}
	for(int i = 0; i < 10; i++)
	{
		for(int j = i; j < 10; j++)
		{
			if(a[i] < a[j])
			{
				int box = a[i];
				a[i] = a[j];
				a[j] = box;	
			}	
		} 
	}
	for(int i = 0; i < 3; i++)
	{
		printf("%d\n", a[i]);
	}
	return 0;
	
}

C++: #include<bits/stdc++.h>
using namespace std;
int main(){
  int f=0,s=0,sr=0,b;
  for(int i=0;i<10;i++){
    cin>>b;
    if(f<b){
      sr=s;
      s=f;
      f=b;
    }else if(s<b){
      sr=s;
      s=b;
    }else if(sr<b){
      sr=b;
    }
  }
  cout<<f<<endl<<s<<endl<<sr<<endl;
  return(0);
}

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


int N,M,p,d[10000],x[4],r,l;
int main(){
for(int i=0;i<10;i++){
cin>>d[i];
}
sort(d,d+10);
for(int i=9;i>6;i--){
cout<<d[i]<<endl;}
return 0;
}

C++: #include <iostream>
#include <string>
#include <stack>
#include <math.h>
#include <algorithm>
#include <cstdlib>
#include <ctime>
#include <vector>

using namespace std;






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

C++: #include<iostream>
#include<stdio.h>
#include<algorithm>
using namespace std;
int main()
{
	int m[11],t;
	for(int i=1;i<=10;i++)
	{
		cin>>m[i];
	}
	for(int i=1;i<=10;i++)
	{
		for(int j=1;j<=10;j++)
		{
			if(m[i]<m[j])
			{
				t=m[i];
				m[i]=m[j];
				m[j]=t;
			}
		}
	}
	cout<<m[1]<<endl;
	cout<<m[2]<<endl;
	cout<<m[3]<<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); // algorithm: ???????????????????´????????????????????????????
	cout << a[9] << endl
		<< a[8] << endl
		<< a[7] << endl;

    return 0;
}

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

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