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

using namespace std;

int main(){
	int f=0,s=0,t=0,num,tmp;
	
	for(int i=0;i<10;i++){
		cin>>num;
		if(num>t){
			t=num;
		}
		if(t>s){
			tmp=s;
			s=t;
			t=tmp;
		}
		if(s>f){
			tmp=f;
			f=s;
			s=tmp;
		}
		
	}
	cout << f << endl << s << endl << t << endl;
	
	return 0;
}

C++: #include <iostream>

using namespace std;

void reverse(int *array, int length) {
	int i;
	int j;
	for(i=0;i<length-1;i++){
		for(j=i+1;j<length;j++){
			if(array[i]<array[j]){
				int temp=array[i];
				array[i]=array[j];
				array[j]=temp;
			}
		}
	}
}

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

C++: #include <iostream>

int main() {

	int n = 10, i = 0, j = 0, v = 0, count = 0;
	int a[10];

	for (i = 0; i < n; i++) {
		std::cin >> a[i];
	}

	for (i = 1; i < n; i++) {
		v = a[i];
		j = i - 1;

		while ((j >= 0) && (a[j] > v)) {
			a[j + 1] = a[j];
			j--;
		}

		a[j + 1] = v;
	}

	std::cout << a[9] << std::endl;
	std::cout << a[8] << std::endl;
	std::cout << a[7] << std::endl;

	return 0;


}

C++: #include <iostream>
#include <algorithm>
#include <stdio.h>
#define pri(dt) printf("%d\n",dt)
#define RPE0(loopTotal)  for(int i=0;i<=(loopTotal);i++)
#define RPE(loopTotal)  for(int i=1;i<=(loopTotal);i++)

int data[9];

using namespace std;
int main(void){
    
    
    RPE0(9) scanf("%d",&data[i]);
    sort(data+0,data+9,greater<int>());
    RPE0(2) pri(data[i]);
    data[9] = {};
}

C++: #include<iostream>
#include<algorithm>
using namespace std;
    
int main(){

int m[10]={1819,2003,876,2840,1723,1673,3776,2848,1592,922};

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

	if (m[i] <= m[i+1])
		std::swap(m[i],m[i+1]);

}
}
 
cout <<  m[0] <<'\n' << m[1] <<'\n' << m[2] <<'\n';


    return 0;
}

C++: #include<iostream>
#include<algorithm>
using namespace std;
int main(){
int a[10];
for(int b = 0;b <= 9;b++) cin >> a[b];
sort(a,a+10);
for(int c = 1;c <= 3;c++) cout << a[10 - c] << endl; 
return 0;
}

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

int main(){
	int a,b,c,d,e,f,g,h,i,j;
	int yama[10] = { a, b, c, d, e, f, g, h, i, j}
	sort(yama, yama+10)
	cout << yama[0] << endl;
	cout << yama[1] << endl;
	cout << yama[2] << endl;
	
    return 0;
}

C++: #include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
	vector<int> line;
	int pro;
	for(int i=0;i<10;++i)
	{
		cin>>pro;
		line.push_back(pro);
	}
	sort(line.begin(),line.end());
	for(int i=9;i>6;-i)
	{
		cout<<line[i]<<endl;
	}
	return 0;
}

C++: #include <stdio.h>
#include <algorithm>
using namespace std;
int main()
{
    int i, j, a[20];
    for(i=0; i<10; i++)
    {
        scanf("%d", &a[i]);
    }
    sort(a, a+10);
    for(i=0; i<3; i++)
    {
        printf("%d\n", a[i]);
    }
    return 0;
}

C++: #include <iostream>

using namespace std;

int main()
{
    int first, second, third;
    int tmp;
    
    first = second = third = 0;
    for (int i = 0; i < 10; i++) {
        cin >> tmp;
        if (tmp >= third) {
            if (tmp >= second) {
                if (tmp >= first) 
                    first = tmp;
                else
                    second = tmp;
            }
            else
                third = tmp;
        }
    }
    cout << first << '\n' << second << '\n' << third << '\n';

    return 0;
}

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


int main(void){

	int a[11],i,j;

	for (int i=1; i<11; i++){
		while (true){ 
		//cout << "山の高さ" << i << "（整数）" ;			
		cin >> a[i];
		if ((cin.good() == 1) && (a[i] >= 0) && (a[i] <= 10000)) {
			break;
		}
		}	
	}


	for (i=1; i<11; ++i){
		for (j=i+1; j<11 ; ++j){
		if (a[i] < a[j]){swap(a[i],a[j]);}
	}
			}


	for (i=1;i<4;++i){
		cout << a[i] << endl;
	}
		

		return 0;
	}

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

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

using namespace std;
#define rep(i,n) for(int i = 0; i < n; i++)

int main(){

	vector<int> data(10);

	rep(i,10){
		cin >> data[i];
	}

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

	rep(i,3){
		cout << data[9 - i] << endl;
	}


	return 0;
}

C++: #include<stdio.h>
int main(void)
{
	int a, b, max = 0, max2 = 0, max3 = 0;
	for (a=1;a<=10;a++) {
		scanf("%d", &b);
		if (b > max) {
			max = b;
		}
		else if (b > max2) {
			max2 = b;
		}
		else if (b > max3) {
			max3 = b;
		}
	}
	printf("%d\n %d\n %d\n", max, max2, max3);
	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(temp > sort[0]){
			sort[2] = sort[1];
			sort[1] = sort[0];
			sort[0] = temp;
		}
		else if(temp> sort[1]){
			sort[2] = sort[1];
			sort[1] = temp;
		}
		else if(temp> sort[2]){
			sort[2] = temp;
		}
	}
	printf("%d\n%d\n%d\n", sort[0], sort[1], sort[2]);
	
	return 0;
	
}

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

using namespace std;

const int SIZE = 10;

int main()
{
    int intArray[SIZE]; //= {5, 3, 32, -1, 1, 104, 53, 23 , 34, 90};
    for(int i=0;i<SIZE;i++)
    {
        cin>>intArray[i];
    }
    //Now we call the sort function
    sort(intArray, intArray + SIZE);

    cout<<"height of 1st mountain "<<intArray[9]<<endl;
    cout<<"height of 2nd mountain "<<intArray[8]<<endl;
    cout<<"height of 3rd mountain "<<intArray[7]<<endl;


    return 0;
}

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

using namespace std;

int main() {
	vector<int> mountains;
	int n;
	while (cin >> n) {
		mountains.push_back(n);
	}
	sort(mountains.begin(), mountains.end(), greater<int>());
	
	cout << mountains[0] << endl;
	cout << mountains[1] << endl;
	cout << mountains[2] << endl;
}

C++: #include<iostream>
using namespace std;
int main() {
	typedef unsigned short int mew;
	mew mountain[10];
	for (int i = 0; i < 10; i++) {
		cin >> mountain[i];
	}

	mew taller[3];
	mew a, b, c;

	a = mountain[0];
	b = mountain[1];
	c = mountain[2];

	for (int y = 3; y <= 9; y++) {
		if (a <= b) {
			if (a <= c) {
				if (a < mountain[y]) {
					a = mountain[y];
				}
			}
			else {
				if (c < mountain[y]) {
					c = mountain[y];
				}
			}
		}
		else if (b <= c)
		{
			if (b < mountain[y]) {
				b = mountain[y];
			}
		}
	}

	//biggest->taller[0],bigger->taller[1],taller[2]
	{
		if (a >= b&&a >= c)
		{
			taller[0] = a;
			if (b >= c)
			{
				taller[1] = b;
				taller[2] = c;
			}
			else {
				taller[1] = c;
				taller[2] = b;
			}
		}
		if (b >= a&&b >= c)
		{
			taller[0] = b;
			if (a >= c)
			{
				taller[1] = a;
				taller[2] = c;
			}
			else {
				taller[1] = c;
				taller[2] = a;
			}
		}
		if (c >= b&&c >= a)
		{
			taller[0] = c;
			if (b >= a)
			{
				taller[1] = b;
				taller[2] = a;
			}
			else {
				taller[1] = a;
				taller[2] = b;
			}
		}
	}

	cout << taller[0] << endl;
	cout << taller[1] << endl;
	cout << taller[2] << endl;

	char a____;
	cin >> a____;

	return 0;
}