Go: package main

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

var sc = bufio.NewScanner(os.Stdin)

func read() string {
	sc.Scan()
	return sc.Text()
}

func main() {
	sc.Split(bufio.ScanLines)

	s := make([]int, 10)
	for i := 0; i < 10; i++ {
		s[i], _ = strconv.Atoi(read())
	}
	sort.Sort(sort.Reverse(sort.IntSlice(s)))
	fmt.Println(s[0])
	fmt.Println(s[1])
	fmt.Println(s[2])
}

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;
}

C++:  /*
    ????????°??§???????????¨????????????
*/

#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
#include <limits.h>
#include <iostream>
#include <algorithm>
#include <string>
#include <iterator>
#include <vector>
#include <map>
#include <utility>
#define LLU unsigned long long int
#define LL long long int
#define LD long double
using namespace std;
#define LLUmax ULLONG_MAX
#define LLmax LLONG_MAX
#define dmax INT_MAX
#define vd vector<int>
#define vLL vector<long long int>
#define vLLU vector<unsigned long long int> 
#define pb push_back
#define mp make_pair
#define fi first
#define sec second
#define debug printf("asd\n")
#define debugd(a) printf("--%d\n",a)
#define debugdd(a,b) printf("--%d %d\n",a,b)
#define debugarr(a,b) for(int i=0 ; i<b ; i++)printf("%d ",a[i]);printf("\n")
#define newline printf("\n")
#define forin(a,b,c) for(int a=b ; a<c ; a++)
#define forde(a,b,c) for(int a=b ; a<c ; a--)


inline void scd(int &a){scanf("%d",&a);}
inline void scdd(int &a,int &b){scanf("%d %d",&a,&b);}
inline void sctd(int &a,int &b,int &c){scanf("%d %d %d",&a,&b,&c);}
inline void scdlld(long int &a,long int &b){scanf("%I64d %I64d",&a,&b);}
inline void sclld(long long int &a){scanf("%I64d",&a);}

#define scarrd(a,b) for(int index=0 ; index<b ; index++)scanf("%d",&a[index])
#define prdlld(a,b) printf("%I64d %I64d",a,b)
#define prdd(a,b) printf("%d %d",a,b)
#define prd(a) printf("%d",a)
#define prarr(a,b) for(int i=0 ; i<b ; i++)printf("%d ",a[i])
#define iniarr(a,b) for(int i=0 ; i<b ;i++)a[i]=0
#define arr(a,b) int *a=(int *)malloc(b*sizeof(int))
#define llarr(a,b) long long int *a=(long long int *)malloc(b*sizeof(long long int))
#define st(a,b) char *a=(char *)malloc(b*sizeof(char))
#define grav 9.8
#define pi 3.14159265

bool cmp(int a,int b)
{
	return a>b;
}
int main()
{
	int a[2000];
	scarrd(a,10);
	sort(a,a+10,cmp);
	forin(i,0,3)
	printf("%d\n",a[i]);
	
	return 0;
}

C++: #include<iostream>
using namespace std;
int main(){
  int a;
  int x=0;
  int y=0;
  int z=0;
  for(int i=1;i<=10;i++){
    cin >> a;
    if(a>x){
      z=y;
      y=x;
      x=a;
    }else if(y<a && a<=x){
      z=y;
      y=a;
    }else if(z<a && a<=y){
      z=a;
    }
  }
  cout << x << endl;
  cout << y << endl;
  cout << z << endl;
}