Go: package main

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

func getsAsIntArray() (line []int) {
	scanner := bufio.NewScanner(os.Stdin)

	for scanner.Scan() {
		str := scanner.Text()
		if str == "" {
			break
		}
		data, err := strconv.Atoi(str)
		if err != nil {
			break
		}
		line = append(line, data)
	}

	return
}

func main() {

	lines := getsAsIntArray()
	sort.Sort(sort.Reverse(sort.IntSlice(lines)))
	for i, v := range lines {
		if i < 3 {
			fmt.Println(v)
		}
	}
}

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 temp = a[i];
				a[i] = a[j];
				a[j] = temp;
			}
		}
	}
	for(int i = 0; i < 3; i++)
	{
		printf("%d\n", a[i]);
	}
}

C++: #include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>
#include <cstring>
 
using namespace std;

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

C++: #include <iostream>
#include <array>
#include <algorithm>
    
int main(){
    std::array<u_int, 10> heights;
       
    for (int i = 0; i < 10; ++i){
        std::cin >> heights[i];
    }
       
    std::sort(heights.begin(), heights.end(), std::greater<u_int>());
       
    for (int i = 0; i < 3; ++i){
        std::cout << heights[i] << std::endl;
    }
      
    return 0;
}

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

C++: #import<iostream>
#import<deque>
#import<algorithm>
using namespace std;main(){int n,i;deque<int>h;while(cin>>n)h.push_back(n);sort(h.begin(),h.end());for(i=9;i>6;i--)cout<<h[i]<<endl;}

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

C++: #define _USE_MATH_DEFINES
#include <iostream>
#include <vector>
#include <math.h>
#include <string>
#include <string.h>
#include <stack>
#include <algorithm>
#include <stdio.h>
#include <functional>
using namespace std;

//??°?????????????????°

void function()
{
    //??¢??°
}
 
int main(){
    int max1 = 0;
    int max2 = 0;
    int max3 = 0;
    for (int i = 0; i < 10; i++){
    	int a;
		cin >> a;
		if(a >= max1){
		max3 = max2;
		max2 = max1;
		max1 = a;
		}else if(a >= max2){
			max3 = max2;
			max2 = a;
		}else if(a >= max3){
			max3 = a;
		}
    }
    cout << max1 << endl << max2 << endl << max3 << endl;
    return 0;
}

C++: #include <iostream>

#define MOUNTAINS 10
#define RANK 3

using namespace std;

void InsertToRank(int *rank, int idx, int height);

int main(void)
{
    int i, j;
    int rank[RANK] = {0};
    int height;
    
    for (i = 0; i < MOUNTAINS; i++) {
        cin >> height;
        for (j = 0; j < RANK; j++) {
            if (rank[j] < height) {
                InsertToRank(rank, j, height);
                break;
            }
        }
    }
    
    for (i = 0; i < RANK; i++) {
        cout << rank[i] << endl;
    }
    
    return 0;
}

void InsertToRank(int *rank, int idx, int height)
{
    int i;
    
    for (i = 2; i > idx; i--) {
        rank[i] = rank[i - 1];
    }
    rank[idx] = height;
}

C++: //
//  main.cpp
//  sanpie
//
//  Created by h3037178 on 2017/07/28.
//  Copyright ?? 2017??´ ?????£?????????. All rights reserved.
//

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

C++: #include <iostream>
#include <algorithm>
using namespace std;
    
int main(){
	int data,m[10];

	
	for (int j=0;j<=9;j++){
			while(cin >> data){
			if (data<=10000 && data >= 0 ) {
			m[j]=data;
			break;
		}
			}
	}

for (int i=0;i<=9;i++){

	if (m[i] < m[i+1]){
		swap(m[i],m[i+1]);
	for (int j=i;j>0;j--){
	if (m[j] > m[j-1])
		swap(m[j],m[j-1]);
	}
	}
}


 
for (int i=0;i<=9;i++){
cout <<  m[i] <<'\n';
}

    return 0;
}

C++: #include <iostream>
#include <array>
#include <algorithm>
   
int main(){
    std::array<u_int, 10> heights;
      
    for (u_int i = 0; i < 10; ++i){
        std::cin >> heights[i];
    }
      
    std::sort(heights.begin(), heights.end(), std::greater<u_int>());
      
    for (u_int i = 0; i < 3; ++i){
        std::cout << heights[i] << std::endl;
    }
     
    return 0;
}

C++: #include <iostream>

using namespace std;

int main() {
	int a[10];
	for (int i = 0; i < 10; ++ i) 
		cin >> a[i];
	int t = 0;
	for (int i = 0; i < 10; ++ i) 
		if (a[t] < a[i]) t = i;;
	cout << a[t] << endl;
	a[t] = -1;
	t = 0;
	for (int i = 0; i < 10; ++ i) 
		if (a[t] < a[i]) t = i;;
	cout << a[t] << endl;
	a[t] = -1;
	t = 0;
	for (int i = 0; i < 10; ++ i) 
		if (a[t] < a[i]) t = i;;
	cout << a[t] << endl;
	a[t] = -1;
	t = 0;

	return 0;
}

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

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

    for(int i=0;i<9;i++){
        for(int j=1;j<10;j++){
            if(moun[i]<moun[j]){
               temp = moun[i];
               moun[i] = moun[j];
               moun[j] = temp;
            }
        }
    }

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

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

using namespace std;

int main(void) {
	vector<int> v;
	string str;

	for (int i = 0; i < 10; i++) {
		getline(cin, str);
		v.push_back(atoi(str.c_str()));
	}

	sort(v.begin(), v.end());

	for (int j = v.size() - 1; j > v.size() - 4; j--) {
		cout << v[j] << endl;
	}

	return 0;
}

C++: #include<stdio.h>

int main(){
	int top[10] = {1819, 2003, 876 ,2840, 1723, 1673, 3776, 2848, 1592, 922};
	unsigned char i = 0;
	unsigned char j = 0;
	unsigned int buf = 0;
	
	for (i = 0; i < 10; i++) {
		for (j = (1 + i); j < 10; j++) {
			if (top[i] < top[j]) {
				buf = top[i];
				top[i] = top[j];
				top[j] = buf;
			}
		}
	}
				
	for (i = 0; i < 3; i++) {
		printf("%d\n", top[i]);
	}
	
 	

	
    return 0;
}

C++: #include <iostream>
using namespace std;
int main(){
	int h[10],one=0,two=0,three=0;
	for(int i=0;i<10;i++){
		cin>>h[i];
		if(three<h[i]){
			if(two<=h[i]){
				if(one<=h[i]){
					three=two;
					two=one;
					one=h[i];
				}else{
					three=two;
					two=h[i];
				}
			}else{
				three=h[i];
			}
		}
	}
	cout<<one<<endl<<two<<endl<<three<<endl;
	return 0;
}

C++: #include <iostream>
#include <string>
#include <algorithm>
#include <cstdio>
#include <vector>
#include <queue>
#include <set>
#include <numeric>
#include <cmath>

using namespace std;

typedef long long int lld;

const lld mod = 1e9+7;
const lld INF = 1e9;
//const lld MAXN = 1e9;

int main()
{
	int a[10];

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

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

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


	return 0;
}