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(void)
{
	int input[10];

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


	for(int i = 3; i < 10; i++){
		for(int j = 0; j < 3; j++){
			if(input[i] > input[j]){
				input[j] = input[i];
				break;
			}
		}
	}

	sort(input, input+2);

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


	return 0;
}

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

using namespace std;
void main()
{
clrscr();
int mount[10];
for(int i=0;i<10;i++)
{
cin >> mount[i];
}
int max[3];
max[0] = mount[0];
max[1] = mount[0];
max[2] = mount[0];
for(i=1;i<10;i++)
{
if(mount[i]>max[0])
{
max[0] = mount[i];
}
}
for(i=1;i<10;i++)
{
if(mount[i]>max[1]&&mount[i]!=max[0])
{
max[1] = mount[j];
}
}
for(i=1;i<10;i++)
{
if(mount[i]>max[2]&&mount[i]!=max[0]&&mount[i]!=max[1])
{
max[2] = mount[j];
}
}
cout << max[0] << endl;
cout << max[1] << endl;
cout << max[2] <<endl;
getch();
}
}

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

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[9] << endl;
	cout << a[8] << endl;
	cout << a[7] << endl;
}

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

using namespace std;

const int numOfMountain = 10;

int main(){
    int mountainBuf;
    vector<int> mountains;

    for(int i = 0; i < numOfMountain; i++) {
        cin >> mountainBuf;
        mountains.push_back(mountainBuf);
    }

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

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

    return 0;
}

C++: #include <iostream>

using namespace std;

int main(){
  int i=0;
  int input=-1;//入力
  int max =-1,mid = -1,min = -1;


  while(cin >> input ){
    if( min < input){
       min = input;
    }

    if(min > mid){
      swap(min,mid);
    }

    if(mid>max){
      swap(mid,max);
    }

  }

cout <<  max<<"\n"
<< mid<<"\n"
<< min<<"\n";

  return 0;
}

C++: #include<stdio.h>
int main(void){
	int d, m1 = 0, m2 = 0, m3 = 0, i;{
	scanf("%d", &d);
		for(i=1;i<10;i++){
			scanf("%d", &d);
			if(d > m1){
			m3 = m2;
			m2 = m1;
			m1 = d;
				}else if(d > m2){
				m3 = m2;
				m2 = d;
					} else if(d > m3){
					m3 = d;
					}
		}
	printf("%d\n""%d\n""%d\n", m1, m2, m3);
	return 0;
}
}

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){
			
			c=b;
			b=a;
			a=yama;
			
		}else if(b<yama){
			
			c=b;
			b=yama;
			
		}else if(c<yama){
			
			c=yama;
			
		}
	}
	
	printf("%d\n%d\n%d\n",a,b,c);
	
	return 0;
}

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

int main(){
  int Mt[10];
  int s;
  int i, j;
  for (i = 0; i <= 9; i++){
    cin >> Mt[i];
  }

  for (i = 1; i <= 3; i++){
    for (j = 8; j >= 0; j--){
      if (Mt[j] <= Mt[j + 1]){
        s = Mt[j];
        Mt[j] = Mt[j + 1];
        Mt[j + 1] = s;
      }
    }
  }

  cout << Mt[0];
  for (i = 1; i <= 2; i++){
    cout << "\n" << Mt[i];
  }
  return (0);
}

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

using namespace std;

int main()
{
    vector<int> list;

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

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

int main(void) {
    std::priority_queue<u_int> heights;
    //??\???
    for (u_int h, i = 0; i < 10; ++i) {
        std::cin >> h;
        heights.push(h);
    }
	//??????
    for (u_int i = 0; i < 3; ++i) {
        std::cout << heights.top() << std::endl;
        heights.pop();
    }
    return 0;
}

C++: a = []
10.times do
a << gets.to_i
end
a.sort!.reverse!
p a[0]
p a[1]
p a[2]

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

const static int MAX = 10000;

int main() {
    int R[MAX]={0};
    int e;

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

    int cnt = 0;
    for (int j = MAX; j >= 0 ; j--){

        if  (cnt >= 3) break;

        if (R[j] != 0){
            cout << R[j] << endl;
            cnt++;
        }
    }
    return 0;
}

C++: #include<iostream>
int main(){
	using namespace std;
	int a;
	int height[10];
	int i = 10;
	int tmp;

	while(i){
		cin>>a;
		height[10-(i--)]=a;
	}

	for(int j=0;j<9;j++){
		for(int k=j+1;k<10;k++){
			if(height[j]<height[k]){
				tmp = height[j];
				height[j] = height[k];
				height[k] = tmp;
			}

		}
	}

	cout<<height[0]<<endl;
	cout<<height[1]<<endl;
	cout<<height[2]<<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;
		}
		else {

		}
	}
	printf("%d\n %d\n %d\n", max, max2, max3);

}

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.begin(),h.end());
	
	for(int i = 0; i < 3; i++){
		cout << h[i] << endl;
	}
	
    return 0;
}

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

int main() {
int top[5]={0,0,0,0,0};
int yama;

cin >> top[0];

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

 for(int j=0; j<3; j++){
  if(yama >top[j]){
   top[j+2] = top[j+1];
   top[j+1] = top[j];
   top[j] =yama;
   break;
  }
 }
 return 0;
}

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

int main() {
	int i,a[10];
	for (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(){
    vector<int> v(10);
    int index = 0;  
    for(int i = 0; i< 10; i++){
        cin >> v[i];
    }
    cout << *max_element(v.begin(),v.end()) << endl;
    index = distance(v.begin(),max_element(v.begin(),v.end()));
    v[index] = 0;
    cout << *max_element(v.begin(),v.end()) << endl;
    index = distance(v.begin(),max_element(v.begin(),v.end()));
    v[index] = 0;
    cout << *max_element(v.begin(),v.end()) << endl;
    index = distance(v.begin(),max_element(v.begin(),v.end()));
    v[index] = 0;
}

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

int main()
{
	int m[10];
	int i, j, n;
	for(i=0; i<10; i++)
		cin >> m[i];

	for(j=0; j<10; j++)
	{
		for(i=j; i<10; i++)
		{
			if(m[j] < m[i])
			{
				n = m[i];
				m[i] = m[j];
				m[j] = n;
			}
		}
	}

	cout << "output" << endl;
	for(i=0; i<3; i++)
		cout << m[i] << endl;
}

C++: #include<stdio.h>
int main()
{
	int top[3]={0};
	for(int i=0;i<10;i++)
	{
		int temp;
		scanf("%d",&temp);
		if(temp>top[0])
		{
			top[2]=top[1];
			top[1]=top[0];
			top[0]=temp;
		}
		else if(temp>top[1])
		{
			top[2]=top[1];
			top[1]=temp;
		}
		else if(temp>top[2])
		{
			top[2]=temp;
		}
	}
	printf("%d\n%d\n%d\n",top[0],top[1],top[2]);
}