Go: // 九九を出すだけ
package main
import (
	"fmt"
	"os"
	"bufio"
	"strconv"
	"sort"
)

var sc = bufio.NewScanner(os.Stdin)
var out = bufio.NewWriter(os.Stdout)

func main(){
	sc.Split(bufio.ScanWords)
	defer out.Flush()
	mountains := make([]int, 10)
	for i:=0; i<10; i++{
		mountains[i]=nextInt()
	}
	sort.Sort(sort.Reverse(sort.IntSlice(mountains)))
	for _, v := range mountains[:3]{
		fmt.Fprintln(out, v)
	}
}

func next() string{
	sc.Scan()
	return sc.Text()
}

func nextInt() int{
	a, _ := strconv.Atoi(next())
	return a
}

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

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

C++: #include <iostream>
#include <algorithm>
#include <string>
#include <vector>
using namespace std;
void insertionSort(int A[], int N);

int main(){
    int height[10];
	for(int i=0;i<10;i++){
        cin >> height[i];
        }
	insertionSort(height, 10);
	for(int i=9;i>6;i--){
	cout << height[i] << endl;
}
	return 0;
}

void insertionSort(int A[], int N){
    int j, i, v;
    for(i = 1; i < N; i++){
        v = A[i];
        j = i - 1;
    while(j >= 0 && A[j] > v){
        A[j+1] = A[j];
        j--;
    }
    A[j+1] = v;
    }
}

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

int main()
{
	int top1 = 0, top2 = 0, top3 = 0;
	int temp;
	
	for (int i = 0; i < 10; i++) {
		cin >> temp;
		if (temp >= top1) {
			top3 = top2;
			top2 = top1;
			top1 = temp;
		} else if (temp >= top2) {
			top3 = top2;
			top2 = temp;
		} else if (temp >= top3) {
			top3 = temp;
		}
	}
	
	cout << top1 << "\n" << top2 << "\n" << top3 << "\n";
	return 0;
}

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

int main(){

int[3] top = {0,0,0};

while(cin.peek != EOF){
int h;
cin >> h;
if(h > top[2]){
top[2] = h;
if(h > top[1]){
top[2] = top[1];
top[1] = h;
if(h > top[0]){
top[1]=top[0];
top[0]=h;
}
}
}

}

return 0;
}

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

using namespace std;

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

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

using namespace std;

int comp(const int *a, const int *b);

int main(void) {
	int hill[10];
	
	for(int i = 0; i < 10; i++) {
		cin >> hill[i];
	}
	
	qsort(hill, 10, sizeof(int), (int(*)(const void *, const void *))comp);
	
	cout << hill[9] << endl << hill[8] << endl << hill[7] << endl;
	
	return 0;
}

int comp(const int *a, const int *b) {
	if(*a < *b)				return -1;
	else if(*a == *b)		return  0;
	else					return  1;
}

C++: #include <stdio.h>

int main() {
    const int LENGH = 3;
    int mountains[10];

    for (int i = 0; i < 10; ++i) {
        scanf("%d", &mountains[i]);
    }

    {
        bool finished = false;
        while (!finished) {
            finished = true;

            for (int i = 0; i < 10 - 1; ++i) {
                if (mountains[i] < mountains[i + 1]) {
                    int temp = mountains[i + 1];
                    mountains[i + 1] = mountains[i];
                    mountains[i] = temp;
                    finished = false;
                }
            }
        }
    }

    for (int i = 0; i < LENGH; ++i) {
        printf("%d\n", mountains[i]);
    }
}

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

int main(){
	int h = 0,m = 0,l = 0,tmp,i;

	for(i = 0;i < 10;i++){
		cin>>tmp;
		if(tmp >= h){
			l = m;
			m = h;
			h = tmp;
		}else if(tmp >= m){
			l = m;
			m = tmp;
		}else if(tmp >= l){
			l = tmp;
		}
	}
	cout<<h<<endl;
	cout<<m<<endl;
	cout<<l<<endl;
	return 0;
}

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

using namespace std;

int main(void)
{ 
  int yama[10];
  for (int i = 0; i < 10; i++){
    scanf("%d", &yama[i]);
  }
  sort(yama, yama + 10);
  
  for (int i = 9; i >= 7; i--){
    cout << yama[i] << endl;
  }
  return 0;
}

C++: #include<iostream>
#include<set>
#define rep(i,a,b) for(int i=a;i<b;i++)
using namespace std;
multiset<int> num;
int main(){
	int x,r=0;
	rep(i,0,10){
		cin>>x;
		num.insert(x);
	}
	multiset<int>::iterator ite=num.end();
	ite--;
	while(r<3){
		cout<<*ite<<endl;
		ite--;
		r++;
	}
	return 0;
}

C++: #include <iostream>
#include <iomanip>
#include <cmath>
#include <string>
#include <cstring>
#include <utility>
#include <vector>
#include <set>
#include <map>
#include <stack>
#include <queue>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#define debug(x) cerr << #x << ':' << x << endl
#define rep(i,n) for(int i=0;i<(int)n;++i)
#define ALL(c) (c).begin(), (c).end()
using namespace std;
typedef long long ll;

int main(){
    vector<int> A(10);
    rep(i,10) cin >> A[i];
    sort(ALL(A));
    reverse(ALL(A));
    cout << A[0] << endl;
    cout << A[1] << endl;
    cout << A[2] << endl;
    return 0;
}

C++: #include<iostream>
#include<stdlib.h>
using namespace std;
int compare(const void *a,const void*b);
int main(){
  int data[10];
  int i;
  for(i=0;i<10;i++){
    cin>>data[i];
  }
  qsort(data,10,sizeof(int),compare);
  for(i=0;i<3;i++){
    cout<<data[i]<<endl;
  }
  return 0;
}

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

C++: #include<stdio.h>

int main()
{
	int high[10];
	int cases;
	
	for(int i=0;i<9;i++)
	{
		printf("height of mountain %d",i);
		scanf("%d",&high[i]);
		pirntf("\n");
	}
	
	
	for(int i=0;i<9;i++)
	{
		for(int j=i+1; j<10; j++)
		{
			if(high[i] < high[j])
			{
				cases = high[i];
				high[i] = high[j];
				high[j] = cases;
			}
		}
	}
	
	printf("%d\n",high[0]);
	printf("%d\n",high[1]);
	printf("%d\n",high[2]);
	
	return 0;
}

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

void High(int* m)
{
	for (int i = 9; i > 0; i--)
	{
		for (int j = i - 1; j >= 0; j--)
		{
			if (m[i] > m[j])
			{
				int temp;
				temp = m[i];
				m[i] = m[j];
				m[j] = temp;
			}
		}
	}
}

int main(void)
{
	int m[10];

	for (int i = 0; i < 10; i++)
		cin >> m[i];
	High(m);
	for (int i = 0; i < 3; i++)
		cout << m[i] << endl;
	return 0;
}

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

int main(){
    vector<int> heights(10);;
    for(int i = 0; i < 10; ++i){
        cin >> heights[i];
    }
    sort(heights.begin(), heights.end(), greater<int>());

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

    return 0;
}

C++: #include <stdio.h>

int main(void)
{
	int h[10];
	int i, j;
	
	for (i = 0; i < 10; i++){
		scanf("%d", &h[i]);
	}
	
	for (i = 0; i < 9; i++){
		for (j = 0; j < 9 - i; j++){
			if (h[j] < h[j + 1]){
				h[j] += h[j + 1];
				h[j + 1] = h[j] - h[j + 1];
				h[j] -= h[j + 1];
			}
		}
	}
	
	for (i = 0; i < 3; i++){
		printf("%d\n", h[i]);
	}
	
	return (0);
}

C++: #include<bits/stdc++.h>
using namespace std;
#define MOD 1000000007
#define INF 999999999
#define FOR(i,a,b) for (int i=(a);i<(b);i++)
#define FFOR(i,a,b) for (int i=(a);i>(b);i--)
#define REP(i,n) FOR(i,0,n)
#define RREP(i,n) for (int i=(n)-1;i>=0;i--)
#define SORT(c) sort((c).begin(),(c).end())
#define ALL(a) (a).begin(),(a).end()
typedef long long ll;
typedef pair<int,int> P;
typedef vector<int> Vi;
int a[10];
int main(){
  REP(i,10){
	  cin>>a[i];
  }
  SORT(a);
  FFOR(i,9,6){
	  cout<<a[i]<<endl;
  }
  return 0;
}

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

#include <algorithm>

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

C++: #include<iostream>
#include<stdio.h>
using namespace std;
int main(){
	int tall[10],i,j,box;
	for(i=0;i<10;i++){
		scanf("%d",&tall[i]);
	}
	for(i=0;i<9;i++){
		for(j=i+1;j<10;j++){
			if(tall[i]<tall[j]){
				box=tall[j];
				tall[j]=tall[i];
				tall[i]=box;
			}
		}
	}for(i=0;i<3;i++){
		printf("%d\n",tall[i]);
	}
	return 0;
}