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<stdio.h>

void swap(int *x,int *y){
        int temp;

        temp=*x;
        *x=*y;
        *y=temp;

}

int main(void){
        int i,j,k;
        int height[10];

        i=0;

        while(scanf("%d",&height[i])==1){
                i++;
                if(i==10) break;
        }


        for(j=0;j<10;j++){
                if(height[j]<0 || height[j]>10000){
                        height[j]=0;
                }
        }



        for(i=0;i<10;i++){
                for(j=0;j<10;j++){
                        if(height[i]<height[j]){
                        swap(&height[i],&height[j]);
                        }
                }
        }       /*sort*/

        printf("\n");

        k=9;


        while(1){
                printf("%d\n",height[k]);
                k--;
                if(k==6) break;
        }




        return 0;
}

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

const unsigned int NUM = 5;

int main(){
	std::vector<int> nums(NUM);
	
	for(auto& num : nums){
		std::cin >> num;
	}

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

	std::cout << nums[0] << std::endl;
	std::cout << nums[1] << std::endl;
	std::cout << nums[2] << std::endl;
}

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

int main(){
	int height[10];
	int i , j;
	for(i=0 ; i<10 ; i++){
		cin >> height[i] ;
	}
	cout << endl;
	
	for(i=9 ; i>0 ; i--){
		for(j=0 ; j<i ; j++){
			if (height[j]>=height[j+1]){
				height[j]^=height[j+1];
				height[j+1]^=height[j];
				height[j]^=height[j+1];
			}
		}
	}
	for(i=9 ; i>6 ; i--){
		cout << height[i] << endl;
	}
	return 0;
}

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

using namespace std;

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

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

int main(){
    int first=0,second=0,third=0,now;

    for (int i=1;i<11;i++){
        cin >> now;
        if(now>first){
            third=second;
            second=first;
            first=now;
        }
        else if(now>second){
            third=second;
            second=now;
        }
        else if(now>third) third=now;
    }

    cout << first <<"\n";
    cout << second <<"\n";
    cout << third <<"\n";
    return 0;
}

C++: #include<iostream>
using namespace std;
   
int main(void){
   
  int h[10];
  int a = 0;
   
  cin >> h[10];
   
  for(int j=0; j<3; j++){
    for(int i=0; i<10; i++){
        if(h[a]<h[i]) a = i;
    }
    cout << h[a] << endl; 
    h[a] = 0;
  }  
   
  return 0;
}

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

using namespace std;

const int numOfMountain = 10;

int main(int argc, char* argv[]){
    int mountainBuf;
    vector<int> mountains;

    for(int i = 0; i <= numOfMountain; i++) {
        mountainBuf = atoi(argv[i]);
        mountains.push_back(mountainBuf);
    }

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

    auto out = mountains.end();
    for(int i = 0; i < 3; i++) {
        cout << *--out << endl;
    }

    return 0;
}

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

int main(int argc, const char * argv[]) {
    
    if(fin.fail()){
        cout << "load fail...";
    }
    
    vector<int> heights(10);
    for (int i=0; i<10; i++){
        cin >> heights[i];
    }
    sort(heights.begin(), heights.end(), greater<int>());
    
    for (int i=0; i<3; i++){
        cout << heights[i] << endl;
    }
    
    return 0;
}

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

int main(){
	int a[15];
	for(int i=0;i<10;i++) cin >> a[i];
	sort(a,a+10);
	reverse(a,a+10);
	for(int i=0;i<3;i++){
		cout << a[i] <<"\n";
	}

	return 0;
}

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

using namespace std;

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

	partial_sort( hills, hills + 3, hills+10, greater<int>() );
    
    for(int i=0;i<3;i++){
        cout << hills[i] <<endl;
    }
    
	return 0;
}

C++: #include<iostream>

int main(){

int a[10];


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

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



for(int k=0;k<10;k++){
cout<<a[0] <<a[1] <<a[2]<<endl;
}



return 0}

C++: #include<iostream>
#include<vector>
#include<algorithm>
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;
	return 0;
	
}

C++: #include <iostream>
#include <algorithm>
using namespace std;
int main(){
	int height[10];
	for(int i=0;i<10;i++){
		cin >> height[i];
	}
	sort(height,height+10,greater<int>());
	for(int i=0;i<3;i++){
		cout << height[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]){
				mou1=a[i];
				b=i;
		}
		}
		a[b]=0;
		mou2=a[0];
		 for(int i=0;i<10;i++){
		
		if(mou2<a[i]){
				mou2=a[i];
				b=i;
				
		}
		}a[b]=0;
		 mou3=a[0];
		  for(int i=0;i<10;i++){
		
		if(mou3<a[i]){
				mou3=a[i];
				b=i;
				
		}
		}
		cout<<mou1<<"\n"<<mou2<<"\n"<<mou3<<"\n";

	return 0;

}

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

int main()
{
string f;
int a=-1,b=-1,c=-1,d;
for(int i=0;i<10;i++)
{
cin>>f>>f>>f>>f>>d;
if(d>a)
{
c=b;
b=a;
a=d;
}
else
{
if(d>b)
{
c=b;
b=d;
}
else
{
if(d>c)
{
c=d;
}
}
}
}
cout<<a<<endl<<b<<endl<<c<<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];
}

unsgined 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<iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main(){

??????vector<int> data;

    for(int i=0;i<10;i++)
    {
       int input;
       cin>>input;
       data.push_back(input);
    }
    
    sort(data.begin(),data.end(),greater<int>());
    
    for(int i=0,i<3;i++)
    {
       cout<<data[i]<<endl;
    }

    return 0;
}

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

using namespace std;

int main()
{
	deque<int> nums;

	for( int i = 0; i < 10; i++ )
	{
		int in;
		cout << "heihgt of moutain " << i+1 << "(integer)" << endl;
		cin >> in;
		nums.push_back( in );
	}
	
	
	sort( nums.begin(), nums.end(), greater<int>() );
	int cnt = 1;

	deque<int>::iterator it = nums.begin();
	while( it != nums.end() )
	{
		cout << "height of the " << cnt << "st mountain" << *it << endl;
		++it;
		cnt++;
		if( cnt == 4 ) break;
	}

	return 0;
}

C++: #include<stdio.h>

int main(void){

	int h[10]/*={1819,2003,876,2840,1723,
		           1673,3776,2848,1592,922}*/;
	
	int i,j,t;
	for(i=0;i<10;i++){
		printf("%d",i+1);
		scanf("%d",&h[i]);
	}
	for(i=0;i<9;i++)
	{
		for(j=i;j<10;j++)
		{
			if(h[i]<h[j])
			{
			   t=h[i];
			   h[i]=h[j];
			   h[j]=t;
			}
		}
	}
	for(i=0;i<3;i++)
	{
		printf("%d\n",h[i]);
	}


	return 0;
}