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 <iostream>
#include <string>
#include <string.h>
#include <math.h>
#include <time.h>
#include <stdio.h>
#include <ctype.h>
#include <utility>
#include <algorithm>
#include <set>
#include <queue>
#include <stack>
#include <vector>
#include <map>
#include <list>
#include <sstream>
#include <iomanip>

using namespace std;

#define FORST(X,S,T) for(int X=(S); X<=(T); X++)  
#define RFORST(X,S,T) for(int X=(S); X>=(T); X--)  
#define FOR(X,XB) for(int X=0; X<(XB); X++)
#define RFOR(X,XB) for(int X=(XB)-1; X>=0; X--)
#define FORSTL(X,C) for(X=C.begin();X!=C.end();X++)
#define RFORSTL(X,C) for(X=C.rbegin();X!=C.rend();X++)
#define SQR(X) ((X)*(X))
#define MID(X,Y) (((X)+(Y))/2)
#define MIN(X,Y) (X=min((X),(Y)))
#define MAX(X,Y) (X=max((X),(Y)))
#define FILL(X,V) memset(X,V,sizeof(X))
#define FILE_R(X) freopen(X, "r", stdin)
#define FILE_W(X) freopen(X, "w", stdout)  
#define ERREQ(X,Y) (fabs((X)-(Y))<EPS)
#define DBGL cout << "here" << endl;
#define INITLISTS {L=0; FILL(adj,-1);}
#define SZ(X) (int)sizeof(X)
const double PI = acos(-1.0);
const double EPS = 1E-9;
const int INF = (int)1E9;
typedef long long LL;
typedef vector<int> VI;
typedef unsigned int uint;

#define MAXN 100005

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

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

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

int main() {
  int n, h[3] = {};

  for(int i = 0; i < 10; i++) {
    cin >> n;
    for(int j = 0; j < 3; j++) {
      if(n > h[j]) swap(n, h[j]);
    }
  }

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

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

int main(){
  int a[10];
  int tmp;
  int n = 0;

  while(n<10){
    cin >> a[n];
    n++;
  }

  int i,j;

  //降順ソート
  for(i = 0;i < 10;i++){
    for(j = i+1;j < 10;j++){
      if(a[i] < a[j]){
	tmp = a[i];
	a[i] = a[j];
	a[j] = tmp;
      }
    }
  }

  //結果の表示
  for(i = 0;i < 3;i++){
    cout << a[i] << endl;
  }
    return 0;
}

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

int main()
{
	int i, h;
	int mh[3] = {0};

	for(i=0;i<10;i++){
		cin>>h;
		if(mh[0] < h) mh[0] = h;
		else if(mh[1] < h) mh[1] = h;
		else if(mh[2] < h) mh[2] = h;

	}
	for(i=0;i<3;i++)	cout<<mh[i]<<endl;

	

	return 0;
}

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

int main(){
    priority_queue<int> que;

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

    for(int i = 0 ; i < 3 ; ++i){
        cout << que.top() << endl;
        que.pop();
    }

    return 0;
}

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

int main(){
	int yama;
	int a = 0;
	int b = 0;
	int c = 0;

	for (int i = 0; i < 10; i++){
		cin >> yama;
		if (a < yama){
			c = b;
			b = a;
			a = yama;
		}
		else if (b < yama || a == yama){
			c = b;
			b = yama;
		}
		else if (c < yama || b == yama){
			c = yama;
		}
	}
	cout << a << endl << b << endl << c << endl;

	return 0;
}

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

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    int m[3];
    cin>>m[0]>>m[1]>>m[2];
    if(m[0]<m[1]) swap(m[0], m[1]);
    if(m[1]<m[2]) swap(m[1], m[2]);
    if(m[0]<m[1]) swap(m[0], m[1]);
    for(int i=3; i<10; i++){
        int t;
        cin>>t;
        if(t>m[2]){
            int p=2;
            while(p>0&&t>m[p-1]){
                m[p]=m[p-1];
                --p;
            }
            m[p]=t;
        }
    }
    for(int i=0; i<3; i++){
        cout<<m[i]<<'\n';
    }
    return 0;
}

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

using namespace std;

int main() {
    array<int,10> ar;
    for(int i=0;i<10;i++){
        int height;
        cin >> height;
        ar[i]=height;
        }
    sort(ar.begin(),ar.end());
    for(int j=0;j<3;j++){
        cout << ar[9-j] << endl;
        
    }
}

C++: #include <bits/stdc++.h>
using namespace std;
typedef long long ll;
template<class T>bool chmax(T &a, const T &b) { if (a<b) { a=b; return 1; } return 0; }
template<class T>bool chmin(T &a, const T &b) { if (b<a) { a=b; return 1; } return 0; }

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

C++: #include<stdio.h>
#include<algorithm>

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

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

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

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

C++: #include <iostream>
#include <stdlib.h>

using namespace std;

int compare_int(const void *a, const void *b)
{
    return *(int*)b - *(int*)a;
}


int main() {
	int a[10];
	
	for(int i = 0;i < 10;i++)
		cin >> a[i];
	
	qsort(a,10,sizeof(int),compare_int);
	
	for(int i = 0;i < 3;i++){
		cout << a[i];
		cout << "\n";
	}
	
	// your code goes here
	return 0;
}

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

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

C++: #include<stdio.h>
#include<iostream>
#include<algorithm>
#include<functional>

using namespace std;

int main(){

int m[10];
for(int i=0;i<10;i++)cin>>m[i];
sort(m,m+10,greater<int>());
cout<<m[0]<<endl<<m[1]<<endl<<m[2]<<endl;

return 0;

}

C++: #include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
    int k[10005];
int i=0,a;
    while(scanf("%d",&a)==1)
{
k[i]=a;
i++;
}
sort(k,k+i+1);
printf("%d\n%d\n%d\n",k[i],k[i-1],k[i-2]);
return 0;
}

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

using namespace std;

int main() {
  priority_queue<int> que;
  int h;

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

  for(int i = 0; i < 3; i++) {
    cout << que.top() << endl;
    que.pop();
  }

  return 0;
}

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

using namespace std;

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