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 argc, char const *argv[])
{
	int mtain[10];

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

	for (int i = 0; i < 10; ++i)
	{
		for (int j = i + 1; j < 10; ++j)
		{
			int work = 0;

			if(mtain[i] < mtain[j]){
				work = mtain[i];
				mtain[i] = mtain[j];
				mtain[j] = work;	
			} 
		}
	}

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

	return 0;
}

C++: #include<vector>
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
	
	int n,a;
	vector<int>v;
	
	for(n=0;n<10;n++){
	cin>>a;
	v.push_back(a);
	}

	sort(v.begin(),v.end());
	cout << v[9] << endl << v[8] << endl << v[7] << endl;
	
}

C++: #include<iostream>

using namespace std;

//??\?????????
void swap(int *a, int *b){
	int temp = *a;
	*a = *b;
	*b = temp;
}

int main(){
	int str,mt[10];
	int i;
	
	for(i=0;i<10;i++){
		cin >> str;
		mt[i]=str;
	}
	
	// ????????????
	int num = 1;
	while(num<=3){
		str = mt[num-1];
		for(i=num;i<10;i++){
			if(str<mt[i]){
				str = mt[i];
				swap(mt[num-1],mt[i]);
			}
		}
		num++;
	}
	
	cout << mt[0] << "\n";
	cout << mt[1] << "\n";
	cout << mt[2] << "\n";
	
	return 0;
}

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

int main(){
    vector <int> v;
    int a;    
    for(int i;i<10;i++){
        cin >> a;
        v.push_back(a);
    }

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

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

    return 0;

}

C++: #include<stdio.h>

int main(){
	int a1 = 0, a2 = 0, a3 = 0;

	int x;
	for(int i = 0; i < 10; i++){
		scanf("%d", &x);
		if(x > a3){
			a3 = x;
		}
		if(x > a2){
			a3 = a2;
			a2 = x;
		}
		if(x > a1){
			a3 = a2;
			a2 = a1;
			a1 = x;
		}
	}

	printf("%d\n%d\n%d\n", a1, a2, a3);

	return 0;
}

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

int main(void)
{
    int a;
    int b[3];
    for (int i = 0; i < 10; i++)
    {
        cin >> a;
        if(a>=b[0])
        {
            b[2] = b[1];
            b[1] = b[0];
            b[0] = a;
        }
        else if(a>=b[1])
        {
            b[2] = b[1];
            b[1] = a;
        }
        else if(a>=b[2])
        {
            b[2] = a;
        }

    }

    for (int i = 0; i < 3; i++)
    {
        cout << b[i] << "\n";
    }
}

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

using namespace std;

int main(void){
	set<int, greater<int> > nums;
	for (int i=0; i<10; ++i){
		int num;
		cin >> num;
		nums.insert(num);

	}
	set<int, greater<int> >::iterator it = nums.begin();
        int n=0;
	while ((it != nums.end()) && (n<3)){
		cout << *it << "\n";
		++it;
                ++n;
	}

	return 0;
}

C++: #include<iostream>
 using namespace std;
int main(){
	int input[10];
	int first;
	int second;
	int third;
	int not1;
	int not2;
	for(int i;i<10;i++){
		cin>>input[i];
	}
	for(int i;i<10;i++){
	if(input[i]>first){
	first = input[i];
	not1 = i;
	}
	}
	for(int i;i<10;i++){
	if(input[i]>second&&i!=not1){
	second = input[i];
	not2 = i;
	}
	}
	for(int i;i<10;i++){
	if(input[i]>first&&i!=not2&&i!=not1){
	third = input[i];
	}
	}
	cout<<first<<endl;cout<<second<<endl;cout<<third<<endl;
	return 0;

}

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

template<typename T>
int array_max(T array[],int n)
{
	int max;
	max=0;
	for(int i=1;i<n;i++)
	{
		if(array[i]>array[max]) max=i;
		
	}
	return max;
}

int main(){
	int mount[10];
	for(int i=0;i<10;i++){
		cin >> mount[i];
	}
	for(int i=0;i<3;i++)
	{
		int max=array_max(mount,10-i);
		int t;
		cout << mount[max] << endl;
		swap(mount[max],mount[10-i]);
	}
   return 0;
}

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

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

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

	for(int i=7;i<10;i++){
		cout << h[i] << endl;
	}

	return 0;
}

C++: #include <iostream>

using namespace std;

int main()
{
	int i,moun,high[10000],j=0;
	for(i=0;i<10000;i++)
	{
		high[i] = 0;
	}
	for(i=0;i<10;i++)
	{
		cin >> moun;
		high[moun] = 1;
	}
	for(i=9999;i>0;i--)
	{
		if(high[i] == 1)
		{
			cout << i << endl;
			j++;
		}
		if(j == 3)
		{
			break;
		}
	}
	return 0;
}

C++: #include <bits/stdc++.h>
using namespace std;int a[15],*b=a;main(){while(cin>>*b++);sort(a,b);while(b>a+8)cout<<*--b<<endl;}

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

int main() {
	int l[20];
	for (int i = 0; i < 10; i++)
		cin >> l[i];
	sort(l, l+10);
	cout << l[9] << endl << l[8] << endl << l[7] << endl;
	char c;
	cin >> c;
}

C++: #include<iostream>
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++){
  for(int i=0;i<10;i++){
    if(a[i]>a[i-1]){
      temp=a[i];
      a[i]=a[i-1];
      a[i-1]=temp;
    }
  }
  }
  for(int i=0;i<3;i++){
    cout<<a[i]<<endl;
  }
  return(0);
}

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

int main()
{
    int height;
    vector<int> top3;

    while (cin >> height) {
        for (auto it = top3.begin(); it != top3.end(); it++) {
            if (height > *it) {
                it = top3.insert(it, height);
                break;
            }
        }
        if (top3.size() > 3)
            top3.pop_back();
        else if (top3.size() < 3)
            top3.push_back(height);
    }
    
    for (auto h: top3)
        cout << h << endl;

    return 0;
}

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

int Size = 10;

int main(void) {
    int height[Size];
    
    for(int i = 0; i < Size; ++i) {
        while(true) {
            cout << "No." << i + 1 << " : " << flush;
            cin >> height[i];
            if(height[i] > 0) {
                break;
            }
        }
    }
    sort(height, height + Size);
    
    cout << height[9] << endl
         << height[8] << endl
         << height[7] << endl;
}

C++: #include<iostream>
using namespace std;
int main() 
{
    int i=0; 
	int num[10]; 
	for(;i<10;i++)
	cin>>num[i]; 
	int temp=0,temp1=0,j=0,k=0; 
	for(;j<3;j++)
	 { 
	  for(i=0;i<10;i++) 
	   { 
	    temp1=temp; 
	    temp=temp<num[i]?
	    num[i]:temp;
		if(temp>temp1) 
		k=i; 
		} 
		cout<<num[k]<<endl; 
		temp=0; 
		num[k]=0; 
	 } 
	 return 0;
}

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

int main()
{
	int i, j, a[10];
	for(i=0;i<10;i++){
		scanf("%d", &a[i]);
	}
	sort(a,a+10);
	for(j=0;j<3;j++){
		printf("%d\n", a[9-j]);
	}
}

C++: #include<iostream>
#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[7]<<endl<<a[8]<<endl<<a[9]<<endl;
	
	return 0;
}

C++: #include <stdio.h>

int main()
{
	int vc[10];
	int i;
	int max=0,sec=0,thi=0;

	for(i=0;i<10;i++){
		scanf("%d",&vc[i]);
	}

	printf("\n");
	for(i=0;i<10;i++){
		if(max <= vc[i])
			max = vc[i];
	}

	for(i=0;i<10;i++){
		if(sec <= vc[i] && vc[i] < max)
			sec = vc[i];
	}

	for(i=0;i<10;i++){
		if(thi <= vc[i] && vc[i] < sec)
			thi = vc[i];
	}

	printf("%d\n%d\n%d\n",max,sec,thi);

	return 0;
}