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 top[3]={0,0,0},cur;
	for (int i = 0; i < 10; i++)
	{
		cin>>cur;
		if(cur>top[0]){
			top[2]=top[1];
			top[1]=top[0];
			top[0]=cur;
		}else if(cur>top[1]){
			top[2]=top[1];
			top[1]=cur;
		}else if(cur>top[3]){
			top[2]=cur;
		}
	}
	cout<<top[0]<<endl;
	cout<<top[1]<<endl;
	cout<<top[2];
	return 0;
}

C++: #include<bits/stdc++.h>
#include<vector>
#include<list>
#include<stack>
#include<queue>
#include<algorithm>
using namespace std;

/**
 * vector<int>ar(3);
 * for(auto&e:ar){
 *     scanf("%d",&e);
 * }
 * sort(ar.begin(),ar.end())
 * int sum=accumulate(ar.begin(),ar.end(),0);
 **/

int main(){
    int mod=1000000007;
    int n,m;
    vector<int> l(10);
    for(auto&e:l) {
        scanf("%d",&e);
    }
    sort(l.begin(),l.end());
    for(int i=9;i>6;i--) {
        printf("%d\n",l[i]);
    }
    return 0;
}

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

int main(){
    vector<int> takasa(10);
    for(int i = 0; i < 10 ; ++i){
        cin >> takasa.at(i);
    }
    std::sort(takasa.begin(),takasa.end());
    std::sort(takasa.begin(),takasa.end(),std::greater<int>());
    for(int i=0;i<3;++i){
        cout<<takasa.at(i)<<endl;
    }
}

C++: 
#include <iostream>
#include <string.h>

using namespace std;

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

    for(int j=0;j<10;j++){
        if(a[j]>a[j+1]){
            temp = a[j];
            a[j] = a[j+1];
            a[j+1] = temp;
        }

    }

    cout<<a[9]<<endl;
    cout<<a[8]<<endl;
    cout<<a[7]<<endl;
    return 0;
}

C++: #include <stdio.h>

int main(void)
{
	int sort[3] = {0, 0, 0};
	int i;
        int temp;
	
	for(i = 0; i < 10; i++){
                scanf("%d", &temp);
		if(tall[i] > sort[0]){
			sort[2] = sort[1];
			sort[1] = sort[0];
			sort[0] = tall[i];
		}
		else if(tall[i] > sort[1]){
			sort[2] = sort[1];
			sort[1] = tall[i];
		}
		else if(tall[i] > sort[2]){
			sort[2] = tall[i];
		}
	}
	printf("%d\n%d\n%d\n", sort[0], sort[1], sort[2]);
	
	return 0;
	
}

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

int main()
{
	std::vector<int>high(10);

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

	std::sort(high.begin(),high.end(),std::greater<int>());

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

    return 0;
}

C++: #include<bits/stdc++.h>
using namespace std;
 
__int128_t a[15];
 
int main(){
    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>
using namespace std;

void exc( int& a, int& b ) {
    int buf;
    buf = a;
    a = b;
    b = buf;
}

int main() {
    int ns[10];
    int fst, scd, trd;
    for( int i = 0; i < 10; ++i ) {
        cin >> ns[i];
        if( i == 0 ) {
            fst = scd = trd = ns[ i ];
            continue;
        }
        if( ns[ i ] >= trd ) {
            trd = ns[ i ];
            if( trd > scd ) {
                exc( trd, scd );
                if( scd > fst ) {
                    exc( scd, fst );
                }
            }
        }
    }
    cout << fst << endl
         << scd << endl
         << trd << endl;
}

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

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

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

int main(){

unsigned short mt_list[10];

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

unsigned short high[3] = {0};
for(int h=0; h<3; h++){
for(int i=0; i<10; i++){
if(high[h] <= mt_list[i]){
high[h] = i;
}
}
unsigned short tmp = high[h];
high[h] = mt_list[tmp];
mt_list[tmp] = 0;
}

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

return 0;
}

C++: #include<cstdio>
#include <iostream>
#include<algorithm>
 
using namespace std;
 
int main()
 
{
    int a[10];
    for(int i=1;i<=10;i++)
 		scanf("%d",&a[i]);	
    sort(a,a+10);
    for(int i=9;i>=7;i--)
    cout<<a[i]<<endl;

    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<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{

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

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

using namespace std;
int a(int x,int y){
  return x>y;
}
int main(){
  int list[10];
  for(int i=0;i<10;i++){
    cin >> list[i];
  } 
sort(list,list+10,a);
  
  for(int j=0;j<3;j++){
    cout<< list[j] << endl;
  }
  return 0;
}

C++: #include<stdio.h>
#include<ctype.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>
#include<math.h>
#include<algorithm>
using namespace std;  
int main()
{
	int ar[10],i;
	for(i = 0 ; i < 10  ; i++) scanf("%d",&ar[i]);
	sort(ar,ar + 10);
	printf("%d %d %d\n",ar[9],ar[8],ar[7]);
	
	return 0;
}

C++: 
class Main
{
	public static void main(String[] av)
	{
		java.util.Scanner sc = new java.util.Scanner(System.in);
		java.util.ArrayList<Integer> vec = new java.util.ArrayList<Integer>();
		while( sc.hasNextInt() )
		{
			vec.add( sc.nextInt() );	
		}
		java.util.Collections.sort( vec );
		java.util.Collections.reverse( vec );
		for ( int i = 0; i < 3; ++i )
		{
			System.out.println( vec.get(i) );
		}
	}
}

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

void exc( int& a, int& b ) {
    int buf;
    buf = a;
    a = b;
    b = buf;
}

int main() {
    int ns[10];
    int fst, scd = 0, trd = 0;
    for( int i = 0; i < 10; ++i ) {
        cin >> ns[i];
        if( i == 0 ) {
            fst = ns[ i ];
            continue;
        }
        if( ns[ i ] >= trd ) {
            trd = ns[ i ];
            if( trd > scd ) {
                exc( trd, scd );
                if( scd > fst ) {
                    exc( scd, fst );
                }
            }
        }
    }
    cout << fst << endl
         << scd << endl
         << trd << endl;
}