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>
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]);
}

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

int main(){
    int a[10]={0};
    int temp;
    for(int i=0;i<10;i++){
        cin>>a[i];
    }
    int i=0;
    for(int j=0;j<=8;j++)
        for(i=0;i<=8;i++)
            if(a[i]<a[i+1]){
                temp=a[i];
                a[i]=a[i+1];
                a[i+1]=temp;
                }
    cout<<a[0]<<endl;
    cout<<a[1]<<endl;
    cout<<a[2]<<endl;        
    return 0;
}

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



using namespace std;

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

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

using namespace std;

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

C++: #include <iostream>
#include <algorithm>
#include <stdio.h>
#define pri(dt) printf("%d\n",dt)
#define RPE0(loopTotal)  for(int i=0;i<=(loopTotal);i++)
#define RPE(loopTotal)  for(int i=1;i<=(loopTotal);i++)

int data[9];

using namespace std;
int main(void){
    
    RPE0(9) scanf("%d",&data[i]);
    sort(data,data+9,greater<int>());
    RPE0(2) pri(data[i]);

}

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, h + 10);
	cout << h[9] << endl << h[8] << endl << h[7] << endl;
}

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

using namespace std;

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

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

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

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

    return 0;
}

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

int main()
{
	std::vector<int> input;
	std::copy(
		std::istream_iterator<int>(std::cin),
		std::istream_iterator<int>(),
		std::back_inserter(input));

	std::partial_sort(input.begin(), input.begin() + 3, input.end(), std::greater<int>());

	for (std::vector<int>::const_iterator i = input.begin(); i != input.begin() + 3; ++i) {
		std::cout << *i << "\n";
	}
	return 0;
}

C++: #include<bits/stdc++.h>

using namespace std;

int main()
{
    int a[100];
    
    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;
}