Go: package main

import (
	"bufio"
	"fmt"
	"os"
	"sort"
	"strconv"
)

var sc = bufio.NewScanner(os.Stdin)

func read() string {
	sc.Scan()
	return sc.Text()
}

func main() {
	sc.Split(bufio.ScanLines)

	s := make([]int, 10)
	for i := 0; i < 10; i++ {
		s[i], _ = strconv.Atoi(read())
	}
	sort.Sort(sort.Reverse(sort.IntSlice(s)))
	fmt.Println(s[0])
	fmt.Println(s[1])
	fmt.Println(s[2])
}

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

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

C++: #include <stdio.h>

int main(){
	int height[10], rank[3] = {0};
	int i;
	
	for(i = 0; i < 10; i++){
    	scanf("%d", height[i]);

        if (rank[0] < height[i]){
        	rank[2] = rank[1];
        	rank[1] = rank[0];
        	rank[0] = height[i];
        }else if (rank[1] < height[i]){
        	rank[2] = rank[1];
        	rank[1] = height[i];
        }else if (rank[2] < height[i]){
        	rank[2] = height[i];
        }
    }

    for(i = 0; i < 3; i++){
    	printf("%d\n", rank[i]);
    }

	return 0;
}

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

const int SIZE = 10;

int Sort(int A[], int N, int name) {
	int j, i, v;

	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;
	}
	return A[name];

}

int main(){
	int Height[10];
	int sort[3];

	for (int i = 0; i < SIZE; i++) {
		cin >> Height[i];
		if (Height[i] > 10000) {
			Height[i] = 0;
			i--;
		}
	}

	sort[0] = Sort(Height, SIZE, 9);
	sort[1] = Sort(Height, SIZE, 8);
	sort[2] = Sort(Height, SIZE, 7);
	
	cout << endl;
	cout <<  sort[0] << endl;
	cout <<  sort[1] << endl;
	cout <<  sort[2] << endl;

	return 0;
}

C++: #include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(void)
{
    int a;
    vector<int> v;
    for (int i = 0; i < 10; i++)
    {

        cin >> a;
        v.push_back(a);
    }
    sort(v.begin(), v.end());
    cout << v[0] << "\n";
    cout << v[1] << "\n";
    cout << v[2] << "\n";
}

C++: #include<bits/stdc++.h>
using namespace std;
int ma1,ma2,ma3,a[9],i,j,c;
int main(){
	for(i=0;i<10;i++){
		cin>>a[i];
	}
	while(c<=9){
	     for(j=9;j>=1;j--){
		     if(a[j]<a[j-1]){
			    swap(a[j],a[j-1]);
		      }
		 }
		  c++;
		  j=9;
	 }
	 cout<<a[9]<<endl;
	 cout<<a[8]<<endl;
	 cout<<a[7]<<endl;
 }

C++: #include <stdio.h>
int main(){
	int h = 0;
	int m[10];
	for(int i = 0; i < 10; i++){
		scanf("%d",&m[i]);
	}

	for(int i = 0; i < 10; i++){
		int tmp = m[i];
		h = i;
		for(int j = i+1; j < 10; j++){
			if(tmp > m[j] ){
				tmp = m[j];
				h = j;
			}
		}
		
		int f = m[i];
		m[i] = m[h];
		m[h] = f;
	}

	for(int i = 9; i >= 7; i--){
		printf("%d\n",m[i]);
	}
	return 0;
}

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

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

int main(){

int mt_list[10];

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

int 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;
}
}
int 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 <stdio.h>
int main() {int a=0,b=0,c=0,d;for (int i=0;i<10;i++) {scanf("%d",&d);if (a<=d) c=b,b=a,a=d; else if (b<=d) c=b,b=d; else if (c<d) c=d;}printf("%d\n%d\n%d\n",a,b,c);return 0;}

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

void solve()
{
	vector<int> vec(10);
	for(int i = 0; i < 10; ++i)
	{
		cin >> vec[i];
	}
	sort(vec.begin(), vec.end(), greater<int>());
	for(int i = 0; i < 3; ++i)
	{
		cout << vec[i] << endl;
	}
}

int main()
{
	solve();
	return(0);
}

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

int main(void){
	int i;
	int x[10];

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

	sort(x, x+10, greater<int>());

	printf("%d\n%d\n%d\n", x[0], x[1], x[2]);

	return 0;
}

C++: 
#include "stdafx.h" 
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

int main()
{
	vector<int> heights;
	for (int i = 0; i < 10; i++) {
		int height;
		cin >> height;
		heights.push_back(height);
	}
	sort(heights.rbegin(), heights.rend());
	for (int i = 0; i < 3; i++) {
		cout << heights[i] << endl;
	}
}

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

using namespace std;

int main()
{
    int x[10];

    for (int i = 0; i < 10; i++)
      cin >> x[i];

    sort(x, x+10);

    for (int i = 0; i < 3; i++)
      cout << x[9-i] << endl;

    return 0;
}

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

int main()
{
	vector<int> HeightOfMountain(10);
	for(int i = 0; i < 10; i++){
		cin >> HeightOfMountain[i];
	}
	sort(HeightOfMountain.begin(), HeightOfMountain.end());
	cout << HeightOfMountain[9] << endl;
	cout << HeightOfMountain[8] << endl;
	cout << HeightOfMountain[7] << endl;
	return 0;
}

C++: #include <iostream>
#include <vector>
#include <map>
#include <set>
#include <algorithm>
#include <queue>
#include <stack>
#include <cmath>
#include <cstdio>
#include <string>
#include <sstream>

using namespace std;

#define rep(i, n) for(int i = 0; i < (int)n; ++i)
#define repn(i, n) for(int i = 1; i <= (int)n; ++i)
#define pb push_back
#define lb lower_bound
#define mp make_pair
#define ite iterator
#define max2(x, y) ((x) > (y)) ? (x) : (y)
#define max3(x,y,z) max2((x), max2((y),(z)))
#define max4(v,w,x,y) max2(max2((v),(w)), max2((x),(y)))
#define min2(x, y) ((x) > (y)) ? (y) : (x)
#define min3(x,y,z) min2((x), min2((y),(z)))
#define min4(v,w,x,y) min2(min2((v),(w)), min2((x),(y)))
#define ul unsigned long
#define ull unsigned long long
#define INF 1000000007
#define MOD 1000000007
#define fs first
#define sd second

template<typename T>
bool elem(set<T> st, T val){
	return (st.find(val) != st.end());
}

template<typename T>
void printv(vector<T> vt){
    rep(i, vt.size() - 1)
        cout << vt[i] << " ";
    cout << vt[vt.size() - 1] << endl;
}

typedef vector<int> vint;
typedef vector<ul> vul;
typedef vector<ull> vull;
typedef pair<int, int> pii;

int main(void){
    vint a;
    int d;
    while(cin >> d) a.pb(d);
    sort(a.begin(), a.end());
    rep(i, 3)
        cout << a[i] << endl;
    return 0;
}

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

int main()
{
	std::array<int,10> mh;
	for (int &el : mh){
		std::cin >> el;
	}
	std::sort(mh.begin(), mh.end());

	std::cout << *(mh.end() -1) << std::endl;
	std::cout << *(mh.end() - 2) << std::endl;
	std::cout << *(mh.end() - 3) << std::endl;

}

C++: #include <stdio.h>

int main(){
	int height[10], rank[3] = {0};
	int i;
	
	for(i = 0; i < 10; i++){
    	scanf("%d", height[i]);

        if (rank[0] < height[i]){
        	rank[2] = rank[1];
        	rank[1] = rank[0];
        	rank[0] = height[i];
        }else if (rank[1] < height[i]){
        	rank[2] = rank[1];
        	rank[1] = height[i];
        }else if (rank[2] < height[i]){
        	rank[2] = height[i];
        }
    }

    for(i = 0; i < 3; i++){
    	printf("%d\n", rank[i]);
    }

	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);
  for(int i=9;i>6;i--){
    cout<<a[i]<<endl;
  }
}

C++: #include<iostream>
int main(){
	int high[10],n=0;
	for(int a=0;a<10;++a)std::cin>>high[a];
	for(int a=0;a<10;++a)
		for(int b=0;b<10;++b)
			if(high[a]>high[b])n=high[a],high[a]=high[b],high[b]=n;
	for(int a=0;a<3;++a)std::cout<<high[a]<<std::endl;
	return 0;
}

C++: a