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>

int main()
{
    int i,j,temp,height[15];

    for(i=0;i<10;i++)
    {
        scanf("%d",&height[i]);
    }
    for(i=0;i<10;i++)
    {
        for(j=i+1;j<10;j++)
        {
            if(height[i]>height[j])
            {
                temp=height[j];
                height[j]=height[i];
                height[i]=temp;
            }
        }
    }
    for(i=9;i>6;i--)
    {
        printf("%d\n",height[i]);
    }
    return 0;
}

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

int main(){
  int h,first,second,third;
  first = second = third = -1;
  for(int i=0;i<10;i++){
     cin >> h;
     if(third < h)third = h;
     if(second < third){
       int tmp = second; second = third; third = tmp;
     }
     if(first < second){
       int tmp = first; first = second; second = tmp;
     } 
  }
  cout << first << endl << second << endl << third << endl;
}

C++: #include <iostream>
using namespace std;
int main(void){
    // Your code here!
    int a,b,c;
    a=0;
    b=0;
    c=0;
    int r[10]={};
    for(int u=1;u<=10;u++){
        cin>>r[u];
        if(a<r[u]){
            c=b;
            b=a;
            a=r[u];
        }else if(b<r[u]){
            c=b;
            b=r[u];
        }else if(c<r[u]){
            c=r[u];
        }
    }
    cout<<a<<endl;
    cout<<b<<endl;
    cout<<c<<endl;
}

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

using namespace std;

int main() {
	int a[10];
	for(int i = 0; i < 10; i++) {
		scanf("%d\n", a+i);
	}
	sort(a,a+10);
	printf("%d\n%d\n%d\n",a[9],a[8],a[7]);
	return 0;
}

C++: #include <bits/stdc++.h>
using namespace std;
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
typedef long long ll;
// Welcome to my source code!

int main() {
    int m[10];
    for (int i = 0; i < 10; i++) cin >> m[i];
    sort(m, m+10, greater<int>());
    printf("%d\n%d\n%d\n", m[0], m[1], m[2]);
}

C++: #include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main(void)
{
  vector<int> a(10);
  for(int i=0;i<10;i++){
    cin >> a[i];
  }
  sort(a.begin(),a.end());
  reverse(a.begin(),a.end());
  /*
    ±êÍ
    sort(a.begin(),a.end(),greater<int>());
    ÆµÄàÇ¢
   */
  for(int i=0;i<3;i++){
    cout << a[i] << endl;
  }
}

C++: #include <stdio.h>
??
int main(void)
{
????????int yama[10],i,j;
????????for(i=0;i<10;i++){
????????????????scanf("%d",&yamja[i]);
????????}
????????for(i=0;i<10;i++){
????????????????for(j=0;j<10;j++){
????????????????????????if(yama[i]<yama[j]){
????????????????????????????????a=yama[i];
????????????????????????????????????????????????????????????????yama[i]=yama[j];
????????????????????????????????????????????????????????????????yama[j]=a;
}
}
}
for(i=0;i<3;i++){
printf("%d\n",yama[i]);
}
}

C++: #include <iostream>
#include <cstdio>
using namespace std;
 
int main() {
	int arr[10];
	for(int i=0; i<10; i++){
		scanf("%d", &arr[i]);
	}
	int max1=arr[0];
	for(int i=0; i<10; i++){
		if(max1<arr[i]){
			max1 = arr[i];
		}
	}
	int max2 = arr[0];
	for(int i=0; i<10; i++){
		if(max2<arr[i] && arr[i]!=max1){
			max2 = arr[i];
		}
	}
	int max3 = arr[0];
	for(int i=0; i<10; i++){
		if(max3<arr[i] && arr[i]!=max1 && arr[i]!=max2){
			max3 = arr[i];
		}
	}
	printf("%d\n%d\n%d\n", max1,max2,max3);
	return 0;
}

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

}

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

C++: #include<iostream>
#include<string>
#include<algorithm>
#include<functional>
#include<vector>
#include<math.h>
#define L(_i,_N) for(int _i=0;_i<_N;_i++)
typedef long long int lli;
using namespace std;

int main() {
	vector<int> Mountain(10);
	L(i, 10) cin >> Mountain[i];
	sort(Mountain.begin(),Mountain.end(),greater<int>());
	L(i, 3) cout << Mountain[i] << endl;
	return 0;
}

C++: #include<cstdio>
#include<algorithm>
#include<iostream>
#include<cstring>
#include<string>
#include<algorithm>
using namespace std;
int c[11];
int main(){
  for(int i=0;i<10;i++){
    cin>>c[i];
  }
  sort(c,c+10,greater<int>());
  cout<<c[0]<<"\n"<<c[1]<<"\n"<<c[2]<<"\n";
}

C++: #include <iostream>

int main(int argc, char const* argv[])
{
	int top1 = 0, top2 = 0, top3 = 0;
	int input;

	for (size_t i = 0; i < 10; i++)
	{
		std::cin >> input;
		if(input > top1)
		{
			top3 = top2;
			top2 = top1;
			top1 = input;
		}
		else if (input > top2)
		{
			top3 = top2;
			top2 = input;
		}
		else if(input > top3)
			top3 = input;
	}

	std::cout << top1 << std::endl;
	std::cout << top2 << std::endl;
	std::cout << top3 << std::endl;
	return 0;
}

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

using namespace std;

int main() {
    string str;
    priority_queue<int> q;

    for (int i = 0; i < 10 ; ++i) {
        getline(cin, str);
        int height = stoi(str.c_str());
        q.push(height);
    }

    for (int j = 0; j < 3; ++j) {
        cout << to_string(q.top()) << endl;
        q.pop();
    }

    return 0;
}

C++: #include <stdio.h>
int main(void)
{
  int m[10],i=0,n,r[10],t;
  while(scanf("%d",&m[i]) != EOF)
    {
      i++;
    }
  for (n=0;n!=10;n++)
    {
      t=10;
      for (i=0;i!=10;i++)
        {
          if(m[n]>m[i])
            {
              t--;
            }
        }
      r[n]=t;
    }
  for (n=1;n!=4;n++)
  {
    for (i=0;i!=10;i++)
      {
        if(r[i]==n)
          {
            printf("%d\n",m[i]);
          }
      }
  }
  return 0;
}

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

int main(){
	int height[10];
	int i , j;
	for(i=0 ; i<10 ; i++){
		cin >> height[i] ;
	}
	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<vector>
#include<stdlib.h>
#include<algorithm>
#include<string>
using namespace std;



int main(void){

	int height[10];
	int max1=0, max2=0, max3=0;

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

		cin >> height[i];	
	}



	for (int i = 0; i < 9; i++){
	
		for (int j = i + 1; j < 10; j++){
		
			if (height[i] < height[j]){
				swap(height[i], height[j]);
			}
		
		}
	}

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

	
	return 0;
}

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

int main()
{
    std::array<int, 10> height;
    for (auto i = 0; i < 10; i++) {
        std::cin >> height.at(i);
    }

    std::sort(height.begin(), height.end());

    for (auto i = 9; i > 6; i--) {
        std::cout << height.at(i) << std::endl;
    }

    return 0;
}