Go: package main

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

var scanner = bufio.NewScanner(os.Stdin)

func nextInt() int {
	scanner.Scan()
	i, e := strconv.Atoi(scanner.Text())
	if e != nil {
		panic(e)
	}
	return i
}
func main() {
	heighs := make([]int, 10)
	for i := range heighs {
		heighs[i] = nextInt()
	}
	sort.Sort(sort.Reverse(sort.IntSlice(heighs)))
	for i := 0; i < 3; i++ {
		fmt.Println(heighs[i])
	}
}

C++: #include<cstdio>
#include<vector>
#include<algorithm>
using namespace std;
int main(void){
	int x;
	vector<int> a;
	for (int i = 0; i < 10; i++){
		scanf("%d", &x);
		a.push_back(x);
	}
	sort(a.begin(), a.end());
	for (int i = 0; i < 3; i++){
		printf("%d\n", a[9 - i]);
	}

	return 0;
}

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

C++: #include <bits/stdc++.h>
using namespace std;
int main(void){
    std::deque<int> deq;
    int a;
    for (int i=0;i<10;i++) {
        cin >> a;
        deq.emplace_back(a);
    }
    sort(deq.begin(),deq.end());
    cout << deq[deq.size()-1] << endl;
    cout << deq[deq.size()-2] << endl;
    cout << deq[deq.size()-3] << endl;
}

C++: #include<iostream>
using namespace std;
main()
{ int  s=0;
  int x[10]={0,0,0,0,0,0,0,0,0,0};
  int t[3]={0,0,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>
using namespace std;
int main(){
	int a[11],max1,max2,max3;
	for (int i=1; i<11; i++){
		while (true){ 
		cout << "山の高さ" << i << "（整数）" ;			
		cin >> a[i];
		if ((cin.good() == 1) && (a[i] >= 0) && (a[i] <= 10000)) {	break; }}}
	max1 = a[1];
	for (i=2; i<11; i++){
		if (max1 < a[i]){
			swap (max1,a[i]);
		}}
	max2 = a[2];
	for (i=3; i<11; i++){
		if (max2 < a[i]){
			swap (max2,a[i]);
		}}
	max3 = a[3];
	for (i=4; i<11; 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 i, h, m[3] = {};
	for(i = 0; i < 10; ++i){
		cin >> h;
		if( m[2] >= h )
			continue;
		else if( m[1] >= h )
			m[2] = h;
		else if( m[0] >= h ){
			m[2] = m[1];
			m[1] = h;
		}else{
			m[2] = m[1];
			m[1] = m[0];
			m[0] = h;
		}
	}

	cout << m[0] << "\n" << m[1] << "\n" << m[2] << "\n";
	
	return 0;
}

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

using namespace std;

typedef long long ll;
typedef vector<int> vi;
typedef vector<ll> vl;
typedef complex<double> P;
typedef pair<int,int> pii;
#define REP(i,n) for(ll i=0;i<n;++i)
#define REPR(i,n) for(ll i=1;i<n;++i)
#define FOR(i,a,b) for(ll i=a;i<b;++i)

#define DEBUG(x) cout<<#x<<": "<<x<<endl
#define DEBUG_VEC(v) cout<<#v<<":";REP(i,v.size())cout<<" "<<v[i];cout<<endl
#define ALL(a) (a).begin(),(a).end()

#define MOD (ll)(1e9+7)
#define ADD(a,b) a=((a)+(b))%MOD
#define FIX(a) ((a)%MOD+MOD)%MOD

int main(){

int a[10];
REP(i,10)cin>>a[i];
sort(a,a+10);
REP(i,3)cout<<a[9-i]<<endl;

  return 0;
}

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

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

  for(int i = 0; i < 10; ++i) {
    for(int j = 9; j > i; --j) {
      if(a[j] < a [j - 1]) {
        int t = a[j];
        a[j] = a[j - 1];
        a[j - 1] = t;
      }
    }
  }

  for(int i = 9; i > 6 ; --i) {
    cout << a[i] << endl;
  }
}

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

using namespace std;

void solve()
{
	vector<int> Vec(10);
	for(int i = 0; i < 10; ++i)
	{
		cin >> Vec[i];
	}
	sort(Vec.begin(), Vec.end());
	for(int i = 9; i > 6; --i)
	{
		cout << Vec[i] << endl;
	}
}

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

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

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

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

int main()
{
	int x[10];
	int i,j,tmp;
	for(i=0;i<10;i++){
		cin >> x[i];
	}
	for(i=0;i<9;i++){
		for(j=9;j>i;j--){
			if(x[j]<x[j-1]){
				tmp = x[j];
				x[j] = x[j-1];
				x[j-1] = x[j];
			}
		}
	}
	cout <<x[9] <<endl;
	cout <<x[8] <<endl;
	cout <<x[7] <<endl;
		
		
		
	
	return 0;
}

C++: #include <stdio.h>

const int N = 15;
int main()
{	
		int a[N] = {0};
	
		for(int i = 0;i < 10;i++)
		{
			scanf("%d", &a[i]);
		}
		for(int i = 0;i < 10;i++)
		{
		for(int j = i;j < 10;j++)
		{
			if(a[i] < a[j])
			{
				int tmp = a[i];
				a[i] = a[j];
				a[j] = tmp;
			}
			 }
		}
		for(int i = 0;i < 3;i++)	 
		{
			printf("%d\n", a[i]);
			 }			 
}

C++: #include<stdio.h>
int main(void) {
	int a, b, c, m[12],top=0,second=0,thread=0;
	for (size_t i = 0; i < 10; i++)
	{
		scanf("%d", &a);
		if (a > top)
		{
			thread = second;
			second = top;
			top = a;
		}
		else
		{
			if (a>second)
			{
				thread = second;
				second = a;
			}
			else
			{
				if (a>thread)
				{
					thread = a;
				}
			}
		}
	}
	printf("%d\n%d\n%d\n", top, second, thread);
	return 0;
}

C++: import sys

arr = []
for i in sys.stdin:
    arr.append(int(i))

arr.sort()
arr.reverse()
for i in range(3):
    print(arr[i])

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

int main(int argc, char* argv[]) {
  int h1=0, h2=0, h3=0, h;
  for(int i=1;i<10;i++){
    cin >> h;
    if(h>h3){
      h3 = h;
      if(h3>h2){
        swap(h3, h2);
        if(h2>h1){
          swap(h2, h1);
        }
      }
    }
  }
  cout << h1 << endl;
  cout << h2 << endl;
  cout << h3 << endl;

  return 0;
}

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

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

	sort(h.begin(),h.end());

	for(int i=9;i>=7;i--){
		cout << h[i] << endl;
	}

	return 0;
}

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

using namespace std;

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

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

int main(){
	bool flag;
	int result[3],buf,temp[10];
	for(int i = 0; i < 10; i++){
		cin >> temp[i];
	}
	for(int l = 0; l < 3; l++){
		while(1){
			for(int j = l; j < 9; j++){
				if(temp[j] < temp[j+1]){
					buf = temp[j+1];
					temp[j+1] = temp[j];
					temp[j] = buf;
				}
			}
			flag = false;
			for(int k = 0; k < 9; k++){
				if(temp[0] < temp[k]) flag = true;
			}
			if(flag != true){
				result[l] = temp[l];
				break;
			}
		}
	}
	cout << result[0] << endl;
	cout << result[1] << endl;
	cout << result[2] << endl;
	return 0;
}

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

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

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

    cout << height[9] << endl;
    cout << height[8] << endl;
    cout << height[7] << endl;
    
    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);
    cout << A[9] << endl << A[8] << endl << A[7] << endl;
    return 0;
}