Go: package main

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

func getsAsIntArray() (line []int) {
	scanner := bufio.NewScanner(os.Stdin)

	for scanner.Scan() {
		str := scanner.Text()
		if str == "" {
			break
		}
		data, err := strconv.Atoi(str)
		if err != nil {
			break
		}
		line = append(line, data)
	}

	return
}

func main() {

	lines := getsAsIntArray()
	sort.Sort(sort.Reverse(sort.IntSlice(lines)))
	for i, v := range lines {
		if i < 3 {
			fmt.Println(v)
		}
	}
}

C++: #include <stdio.h>

void main(void)
{

	int a[3] = {0,0,0};
	int b,c;

	for(int i = 0; i < 10; i++){
		scanf("%d", &b);
		for(int j = 2; j >= 0; j--){
			if(a[j] < b){
				c = a[j];
				a[j] = b;
				b = c;
			}
		}
	}
	for(int i = 2; i >= 0; i--)
		printf("%d\n", a[i]);

}

C++: #include<iostream>
using namespace std;
int main() {
	double h1,h2,h3;
	h1=-1;
	h2=-1;
	h3=-1;
	double h;
	for(int i=0;i<10;i++) {
		cin >> h;
		if(h > h1) {
			h3 = h2;
			h2 = h1;
			h1 = h;
		}
		else if(h > h2) {
			h3 = h2;
			h2 = h;
		}
		else if(h > h3) {
			h3 = h;
		}
	}
	
	cout << h1 << endl;
	cout << h2 << endl;
	cout << h3 << endl;
	
	return 0;
}

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

int main(){
int m[10];
for (int i =0; i < 10; i++){
 cin << m ;
}
m.sort();
cout << m[9] << endl;
cout << m[8] << endl;
cout << m[7] << endl;
    return 0;
}

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

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

namespace
{
	std::vector<unsigned int> altitude(10);
}

int main()
{
	for (unsigned int i = 0; i < 10; i++)
	{
		std::scanf("%u", &altitude[i]);
	}
	std::sort(altitude.begin(), altitude.end(), std::greater<unsigned int>());
	for (unsigned int i = 0; i < 3; i++)
	{
		std::printf("%u\n", altitude[i]);
	}
	return 0;
}

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

int main(){
	int i=0;
	int m[10];
	for(i=0;i<10;i++)
	{
		cin>>m[i];
		while(0>m[i]||m[i]>10000)
			cin>>m[i];

	}
	
	int temp=0;
	i=0;
	
	for(i=0;i<10;i++)
	{
		if(temp<m[i])
		{
			temp=m[i];
		}
	}
	int f=temp;
	i=0;
	temp=0;
	for(i=0;i<10;i++)
	{
		if(temp<m[i]&&m[i]<f)
		{
			temp=m[i];
		}
	}
	int s=temp;
	i=0;
	temp=0;
	for(i=0;i<10;i++)
	{
		if(temp<m[i]&&m[i]<s)
		{
			temp=m[i];
		}
	}
	int t=temp;
	
	cout<<f<<endl<<s<<endl<<t<<endl;

    return 0;
}

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

using namespace std;

int main()
{
	int hM[10], I, K, temp;

	for(I = 0; I < 10; I = I + 1)
		scanf("%d", &hM[I]);

	for(I = 0; I < 9; I = I + 1)
		for(K = 0; K < 9 - I; K = K + 1)
			if(hM[K] < hM[K + 1])
			{
				temp = hM[K];
				hM[K] = hM[K + 1];
				hM[K + 1] = temp;
			}

	for(I = 0; I < 3; I = I + 1)
		printf("%d\n", hM[I]);

	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 <iostream>
#include <vector>
#include <algorithm>
#include <functional>
using namespace std;
int main() {
    vector<int> h;
    int input;
    for (int i=0; i<10; ++i) {
        cin >> input;
        h.push_back(input);
    }

    partial_sort(h.begin(), h.begin()+3, h.end(), greater<int>());

    cout << h[0] << endl;
    cout << h[1] << endl;
    cout << h[2] << endl;
    return 0;
}

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

using namespace std;

int main(){
	vector<int> v;

	for(int i = 0; i < 10; i++){
		int h;
		cin >> h;
		v.push_back(h);
	}

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

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

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

C++: #include<iostream> 
#include<algorithm>
using namespace std;
void bubblesort(int A[]){
	for(int i=0;i<10;i++){
		for(int j=10-1;j>i;j--){
			if(A[j]>A[j-1]){
			int t=	A[j-1];
			A[j-1]=A[j];
			A[j]=t;
			}
		}
	}	
}
int main(){
	int A[10];
	int a; 
	for(int i=0;i<10;i++){
		
		cin>>a;
		if(a>0&&a<10000)A[i]=a;
		
	}
	for(int i=0;i<3;i++)
	{
		bubblesort(A);
		if(i>0)cout<<endl;
		cout<<A[i];
	  } 
	 return 0;
}

C++: #include<iostream>
int main() {
	int m[10];
	for (int i = 0; i < 10; ++i) {
		std::cin >> m[i];
	}
	for (int i = 0; i < 10; ++i) {
		for (int j = 0; j < 10; ++j) {
			int a;
			if (m[i] < m[j]) {
				a = m[i];
				m[i] = m[j];
				m[j] = a;
			}
		}
	}
		std::cout << m[9] << std::endl;
		std::cout << m[8] << std::endl;
		std::cout << m[7] << std::endl;
		return 0;
	}

C++: #include<iostream>
#define element 10

using namespace std;

int height[element];
int number;
int main()
{
 for(int i=0;i<element;++i)
 {
  cin >> height[i];
 }
 for(int i=0;i<element;++i)
 {
  for(int j=i;j<element;++j)
  {
   if(height[i]<height[j])
   {
    number = height[i];
    height[i] = height[j];
    height[j] = number;
   }
  }
 }
 printf("\n%d\n%d\n%d\n",height[0],height[1],height[2]);
 return 0;
}

C++: #include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <vector>
#include <iostream>
#include <set>
using namespace std;
typedef long long ll;

int a[10];

int main(int argc, char const *argv[]) {
	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;
	return 0;
}

C++: #include<iostream>
#include<string.h>
#include<stdio.h>

using namespace std;

int main(){
    int top3Mountain[3];
    memset(top3Mountain, 0, sizeof(top3Mountain));
    
    for (int i=0; i<10; i++) {
        int newHeight = 0;
        scanf("%d", &newHeight);
        
        if (top3Mountain[0] < newHeight) {
            top3Mountain[2] = top3Mountain[1];
            top3Mountain[1] = top3Mountain[0];
            top3Mountain[0] = newHeight;
        } else if (top3Mountain[1] < newHeight) {
            top3Mountain[2] = top3Mountain[1];
            top3Mountain[1] = newHeight;
        } else if (top3Mountain[2] < newHeight) {
            top3Mountain[2] = newHeight;
        }
    }
    
    for (int i=0; i<3; i++) {
        printf("%d\n", top3Mountain[i]);
    }
    
    return 0;
}

C++: int main(){
int a[10];
int max = 0;
int max2 = 0;
int max3 = 0;
int i;
int tmp;

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

for(i = 0; i< 10; i++){
if(max < a[i]){
max = a[i];
tmp = i;
}
}


int tmp2;
for(int i = 0; i< 10; i++){
if(max2 < a[i] && tmp != i){
max2 = a[i];
tmp2 = i;
}
}

for(i = 0; i< 10; i++){
if(max3 < a[i]&& tmp != i&& tmp2 != i) max3 = a[i];
}

std::cout << max<< std::endl;
std::cout << max2<< std::endl;
std::cout << max3<< std::endl;



	return 0;
}

C++: #include<iostream>
using namespace std;
   
int main(void){
   
  int h[10];
　int a = 0;
   
  std::cin >> h;
   
  for(int j=0; j<3; j++){
    for(int i=0; i<10; i++){
        if(h[a]<h[i]) a = i;
    }
    cout << h[a] << endl; 
    h[a] = 0;
  }  
   
  return 0;
}

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

int i,a[10]={};

int main() {
	for (i=0;i<10;i++){
		cin >> a[i];
	}
	sort(a,a+10);
	for (i=0;i<3;i++){
		cout << a[10-1-i] << endl;
	}
	return 0;
}

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

int main(void){
    int height[10];
    for(int i=0;i<10;i++)
        std::cin>>height[i];
    std::sort(height,height+10);
    std::cout<<height[0]<<std::endl<<height[1]<<std::endl<<height[2]<<std::endl;
    return 0;
}