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 <algorithm>
#include <functional>
#include <iostream>
#include <vector>

using namespace std;

int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);

	vector<int> H(10);
	for (int i = 0; i < 10; ++i)
		cin >> H[i];

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

	for (int i = 0; i < 3; ++i)
		cout << H[i] << endl;

	return 0;
}

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

using std::cin;
int main(){
	int a[10];
	int b;
	for(int i=0;i<10;i++){
		cin >> a[i];
	}   int mou1,mou2,mou3;
			mou1=a[0];
	    for(int i=0;i<10;i++){
		
		if(mou1<a[i+1]){
				mou1=a[i+1];
				b=i+1;
		}
		}
		a[b]=0;
		mou2=a[0];
		 for(int i=0;i<10;i++){
		
		if(mou2<a[i+1]){
				mou2=a[i+1];
				b=i+1;
				
		}
		}a[b]=0;
		 mou3=a[0];
		  for(int i=0;i<10;i++){
		
		if(mou3<a[i+1]){
				mou3=a[i+1];
				b=i+1;
				
		}
		}
		cout<<mou1<<"\n"<<mou2<<"\n"<<mou3;

	return 0;

}

C++: 
#include <iostream>
#include <sstream>
#include <vector>
#include <algorithm>
#include <string>
#include <functional>
#include <numeric>
#include <ctype.h>
#include <cstdlib>
#include <string.h>
#include <cmath>
#include <cstdio>





using namespace std;


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

	for (int i = 0; i < 10; i++)
	{
		cin >> input;
		vec.push_back(input);
	}

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

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

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

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

int main()
{
    int* h = new int[10];

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

    int max1=h[1], max2=h[2], max3=h[3];
    for(int j=0; j<9; j++){
        if(max1 <= h[j+1]){
            max1 = h[j+1]; 
        }
    }
    for(int j=0; j<9; j++){
        if(max2 <= h[j+1] && h[j+1] != max1){
            max2 = h[j+1]; 
        }
    }
    for(int j=0; j<9; j++){
        if(max3 <= h[j+1] && h[j+1] != max1 && h[j+1] != max2){
            max3 = h[j+1]; 
        }
    }

    cout << max1 << endl;
    cout << max2 << endl;
    cout << max3 << endl;
}

C++: /*Filename: aoj0001.cpp
 *Author: Mushiyo
 */

#include <iostream>
#include <algorithm>

using namespace std;

int main(){
	const int MOUNTAIN_NUM = 10;
	int mountain[MOUNTAIN_NUM];

    for(int i = 0; i < MOUNTAIN_NUM; ++i){
    	cin >> mountain[i];
    }

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

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

	return 0;
}

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

int main(void){
	int mt[10];
	for(int i=0;i<10;i++)
		cin>>mt[i];
	int max_mt[3]={0,};
	for(int j=0;j<3;j++){
		for(int k=0;k<10;k++){
			max_mt[j]=max(max_mt[j],mt[k]);
		}
		cout<<max_mt[j]<<endl;
		for(int ll=0;ll<10;ll++)
			if(max_mt[j]==mt[ll])
				mt[ll]=0;
	}
	return 0;
}

C++: #include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#include <sstream>
#include <iterator>
#include <cmath>
#include <stack>
#include <functional>
using namespace std;

 
int main()
{
  vector<int> height;

  for(int i = 0; i < 10; i++) {
    int temp;
    cin >> temp;
    height.push_back(temp);
  }
  sort(height.begin(), height.end(), greater<int>());

  for(int i = 0; i < 3; i++)
    cout << height[i] << endl;

  return 0;
}

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

int main(void)
{
  int a[10]={};
  int i=0;
  int j=0;

  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<iostream>

using namespace std;

int main(){
  int outHigh[3],inHigh[10];
  int where;
  outHigh[0]=0;
  outHigh[1]=0;
  outHigh[2]=0;

  for(int i = 0; i < 10; i++){
    cin>>inHigh[i];
  }
  
  for(int j = 0; j < 3; j++){
    for(int i = 0; i < 10; i++){
      if(outHigh[j] < inHigh[i]){
	outHigh[j] = inHigh[i];
	where = i;
      }	
    }
    inHigh[where] = 0;
  }
  cout << endl;
  for(int i = 0; i < 3; i++){
    cout << outHigh[i]<<endl;
  }
  
}

C++: #include<iostream>
using namespace std;
int main(){
int a=0,b=0,c=0,i,val,tmp_a,tmp_b;
for(i=0;i<10;i++){
cin >> val;
if(val>a){
tmp_a=a;
a=val;
tmp_b = b;
b=tmp_a;
c=tmp_b;
}else if(val>b){
tmp_a = b;
b = val;
c = tmp_a;
}else if(val>c){
c=val;
}
}
cout << a << endl;
cout << b << endl;
cout << c << endl;
return 0;
}

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

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

using namespace std;

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

    sort(m, m+3);

    for(int i = 10 - 1; 7 <= i; i--) 
        cout << m[i] << endl;
}

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,greater<int>());
    for(int i=0;i<4;i++)
      cout<<a[i]<<endl;
  }
  

  return 0;
}

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

void top3()
{
    int temp;
    int bil[10];
    int i = 0;

    while(i<10)
    {
        cin >> bil[i];
        if(bil[i] >=0 && bil[i] <= 10000)
            i++;
        else
            exit(1);
    }
    for(int i = 0; i < 10-1; i++)
    {
        for(int j = i+1; j < 10; j++ )
        {
            if(bil[j] > bil[i])
            {
                temp = bil[i];
                bil[i] = bil[j];
                bil[j] = temp;
            }
        }
    }
    for(int i = 0; i < 3; i++)
    {
        cout << bil[i]<< endl;
    }
}


int main () {

    top3();

return 0;

}

C++: #include<stdio.h>

int main(void){
  int a,b,c,d,i;  
  a=b=c=d=0;
  for(i=0;i<10;i++){
    scanf("%d",&a);
      if(a>d){
      c=d;b=c;d=a;}
    else if(a>c){
      b=c;
      c=a;   }
    else if(a>b)
      { b=a;}
   

}
    
printf("%d\n%d\n%d\n",d,c,b); 
 return 0;
}

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

using namespace std;

int main()
{
	priority_queue<int> height;
	int i = 0, tmp;

	while ( i < 10 )
	{
		cin >> tmp;
		height.push( tmp );
		i = i + 1 ;
	}
	
	for ( i = 0 ; i < 3 ; i = i + 1 )
	{
		cout << height.top() << endl;
		height.pop();
	}

	return 0;
}

C++: #include <iostream>
#include <string>
using namespace std;
 
int main(){
int rank[3],a[10],i = 0,ii = 0;
rank[0] = 0;
rank[1] = 0;
rank[2] = 0;
while(i <= 9){
	cin >> a[i];
	while(ii <= 2){
		if(rank[ii] < a[i]){
			if(ii != 2){
			rank[ii+1] = rank[ii];
			rank[ii] = a[i];
			break;	
			}else{
			rank[ii] = a[i];
			break;	
			}
		}
		ii++;
	}
i++;
ii = 0;

}
cout<<rank[0]<<endl<<rank[1]<<endl<<rank[2]<<endl;




}

C++: include <stdio.h>
 	int main() {
	cin>>a>>b;
 	int a,b;
 	1=1<a+b<10
	2=10<a+b<100
	3=100<a+b<1000
	cout<<a<<b;
}