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 <iostream>
#include <queue>
#include <vector>

using namespace std;

int main() {
	priority_queue<int, vector<int>, less<int> > q;
	int num;
	while (cin >> num) {
		q.push(num);
	}
	for (int i = 0; i < 3; i++) {
		cout << q.top() << endl;
		q.pop();
	}
	return 0;
}

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

int main(){

	int a[10],max1,max2,max3;

	for (int i=0; i<10; i++){
		while (true){ 
		cout << "山の高さ" << i+1 << "（整数）" ;			
		cin >> a[i];
		if ((cin.good() == 1) && (a[i] >= 0) && (a[i] <= 10000)) {
			break;
		}
		}	
	}

	max1 = a[0];

	for (i=1; i<10; i++){
		if (max1 < a[i]){
			swap (max1,a[i]);
		}
	}
	max2 = a[1];

	for (i=2; i<10; i++){
		if (max2 < a[i]){
			swap (max2,a[i]);
		}
	}
	max3 = a[2];

	for (i=3; i<10; i++){
		if (max3 < a[i]){
			swap (max3,a[i]);
		}
	}


		cout << max1 << endl;
		cout << max2 << endl;
		cout << max3 << endl;
		

return 0;
	}

C++: #include <iostream>
using namespace std;
 
int main()
{
    int array[10];
    int i, j, tmp;
     
    for(i=0; i<10; i++){
        cin >> array[i];
    }
     
    for(i=0; i<9; i++){
        for(j=i+1; j<10; j++){
            if(array[i] < array[j]){
                tmp = array[i];
                array[i] = array[j];
                array[j] = tmp;
            }
        }
    }
     
    for(i=0; i<3; i++){
        cout << array[i] << "\n";
    }
     
    return 0;
}

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

#define rep(x,to) for(x=0;x<to;x++)
#define rep2(x,from,to) for(x=from;x<to;x++)

using namespace std;


int main(void){

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

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

int main()
{
    int x[10];
    for (unsigned int i = 0; i < (sizeof(x) / sizeof(int)); i++)
        cin >> x[i];
    int first = 0;
    for (unsigned int i = 0; i < (sizeof(x) / sizeof(int)); i++)
        if (x[i] > first)
            first = x[i];
    int second = 0;
    for (unsigned int i = 0; i < (sizeof(x) / sizeof(int)); i++)
        if (x[i] > second && first > x[i])
            second = x[i];
    int third = 0;
    for (unsigned int i = 0; i < (sizeof(x) / sizeof(int)); i++)
        if (x[i] > third && second > x[i])
            third = x[i];
    cout << first << endl;
    cout << second << endl;
    cout << third << endl;
}

C++: #include<iostream>
#include<string>
#include<cmath>
#include<queue>
#include<map>
#include<set>
#include<list>
#include<iomanip>
#include<vector>
#include<functional>
#include<algorithm>
#include<cstdio>
using namespace std;
int main(){
	int a[10];
	for(int i=0;i<10;i++){
		cin>>a[i];
	}
	sort(a,a+10);
	cout<<a[0]<<endl;
	cout<<a[1]<<endl;
	cout<<a[2]<<endl;
}

C++: #include<iostream>
using namespace std;
int main(){
int mountain[10];
int i,max,k,j;
for(i=0;i<10;i++)
cin>>mountain[i];
for(k=0;k<3;k++){
max=mountain[0];
for(i=1;i<=9;i++)
if(max<mountain[i])
{max=mountain[i];
 j=i;
}
cout<<max<<endl;
mountain[j]=-1;
}
return 0;
}

C++: #include <iostream>

using namespace std;

int main()
{
	int mount_high_inputs[10];
	int idx;

	for (int i = 0; i < 10; i++){
		cin >> mount_high_inputs[i];
		/* ?????????????????? */
		for (int j = i; j > 0; j--){
			if (mount_high_inputs[j-1] < mount_high_inputs[j]){
				int tmp = mount_high_inputs[j-1];
				mount_high_inputs[j-1] = mount_high_inputs[j];
				mount_high_inputs[j] = tmp;
			}
			else{
				break;
			}
		}

	}

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

	return 0;
}

C++: #include<iostream>

using namespace std;

int main(){

??????int data[10];

    for(int i=0;i<10;i++)
    {
       cin>>data[i];
    }
    
    
    for(int i=0;i<3;i++)
    {
       cout<<data[i]<<endl;
    }

    return 0;
}

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

using namespace std;

int main(void) {
	int array[10];
	for(int i = 0; i < 10; i++)
		scanf("%d", &array[i]);
	sort(array, array + 10, greater<int>());
	for(int i = 0; i < 3; i++)
		printf("%d\n", array[i]);
	return 0;
}

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

int main(void){

	int n=10, h1=0, h2=0, h3=0, h0;
	for (int i=0; i<n; i++){
		cin>>h0;
		if (h0>h1) swap(h0, h1);
		if (h0>h2) swap(h0, h2);
		if (h0>h3) swap(h0, h3);
	}
	cout<<h1<<endl;
	cout<<h2<<endl;
	cout<<h3<<endl;

	return 0;
}

C++: #include <stdio.h>
 int main( void ){   
    int m_Higher[10];  
    for( int i = 0;i < 10;i++ ) scanf( "%d",&m_Higher[i] );   
    bool Flg  = false;
    while( true ) {
        for( int i = 0;i < 10 - 1;i++ ){
            if( m_Higher[i] < m_Higher[i+1] ){
                int buf = m_Higher[i];
                m_Higher[i] = m_Higher[i+1];
                m_Higher[i+1] = buf;
                Flg = true;
            }
        }
        if( !Flg ) break;
        Flg = false;
    }
     for( int i = 0;i < 3;i++ ) printf( "%d\n",m_Higher[i] );    
    return 0;
}

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

int main() {
  int array[10], tmp;

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

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

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

  return 0;
}

C++: #include<iostream>
using namespace std;
main()
{ int x[10],t[3];
  int  s=0;
  for(int i=0;i<0;i++){
    cin>>x[i];
  }

  for(int k=0;k<3;k++){
    for(int j=0;j<10;j++){
      if(t[k]<x[j]){
        s=t[k];
        t[k]=x[j];
        x[j]=s;
       }
     }
  }
  for(int e=0;e<3;e++){
    cout<<t[e]<<endl;
  }
return 0;
}

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

//0001
int main(){
	list<int> height_list(10);

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

	height_list.sort(greater<int>());
	list<int>::iterator ite = height_list.begin();
	for(int i=0; i<3; ++i){
		cout << *ite++ << endl;
	}
	return 0;

}

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

int main(){

  int x,a=0,b=0,c=0,q=0,p=0;

  for(int i=0;i<10;i++){
   cin >> x;
  
   if(x>c){
    if(x>b){
      if(x>a){
	q=a;
	a=x;
      }
      if(q!=0){
	p=b;
	b=q;
      }else{
	p=b;
	b=x;
      }
    }
    if(p!=0){
      c=p;
    }else{
      c=x;
    }
   }
   p=0;
   q=0;
  }
      
  cout << a << endl;
  cout << b << endl;
  cout << c << endl;
	  
	  





  return 0;
}

C++: #include <iostream>
#include <array>
#include <algorithm>
 
int main(void) {
    std::array<u_int, 10> heights;
    //??\???
    for (u_int i = 0; i < 10; ++i) {
        std::cin >> heights[i];
    }
    //?????????
    std::sort(heights.begin(), heights.end(), std::greater<u_int>());
    //??????
    for (u_int i = 0; i < 3; ++i) {
        std::cout << heights[i] << std::endl;
    }
    return 0;
}

C++: #include <bits/stdc++.h>
using namespace std;

#define FOR(i,l,r) for(int i = (l);i < (r);i++)
#define ALL(x) (x).begin(),(x).end()
template<typename T> bool chmax(T& a,const T& b){return a < b ? (a = b,true) : false;}
template<typename T> bool chmin(T& a,const T& b){return b < a ? (a = b,true) : false;}
typedef long long ll;

const int N = 10;

int main()
{
	vector<int> A(N);
	FOR(i,0,N){
		cin >> A [i];
	}
	sort(ALL(A),greater<int>());

	FOR(i,0,3){
		cout << A [i] << endl;
	}

	return 0;
}