Go: package main

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

func main() {
	scanner := bufio.NewScanner(os.Stdin)
	counter := 0
	var mountain []int
	for scanner.Scan() {
		i, err := strconv.Atoi(scanner.Text())
		if err != nil {
			break
		}
		mountain = append(mountain, i)
		counter++
		if counter == 10 {
			break
		}

	}
	sort.Ints(mountain)
	fmt.Println(mountain[9])
	fmt.Println(mountain[8])
	fmt.Println(mountain[7])
}

C++: #include<stdio.h>

int main(void){
	int high[10];
	int temp, i, j;

	for(i = 0;i < 10;i++)
		scanf("%d", &high[i]);

	for(i = 0;i < 3;i++){
		for(j = i+1;j < 10;j++){
			if(high[i] < high[j]){
				temp = high[i];
				high[i] = high[j];
				high[j] = temp;
			}
		}
	}

	for(i = 0;i < 3;i++)
		printf("%d\n", high[i]);

	return 0;
}

C++: #include <functional>
#include <iostream>
#include <vector>
#include <set>
#include <algorithm>
#include <queue>
#include <string>
#include <cstring>
#include <math.h>
using namespace std;


int main() {

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

   }
  
  sort(a, a + 10, greater<int>()); 
  
   cout << a[0] << endl;
  cout << a[1] << endl;
  cout << a[2] << endl;
   
  return 0;
}

C++: #include <iostream>
#include <algorithm>
#define REP(i,n) for(int i=0;i<n;i++)
using namespace std;

int main() {
    int a[10];
    REP(i,10)
        cin >> a[i];
    sort(a,a+10);
    reverse(a,a+10);
    REP(i,3)
        cout << a[i] << '\n';
}

C++: #include <iostream>
#include <vector>
using namespace std;
int main(){
  //Bubble Sort
  int tmp;
  vector<int> sort(10);
  for(int i=0;i<10;i++)cin>>sort[i];
  for(int j=9;j>=1;j--){
    for(int i=9;i>=1;i--){
      if(sort[i]<sort[i-1]){
	tmp=sort[i];
	sort[i]=sort[i-1];
	sort[i-1]=tmp;
      }
    }
  }
    
  cout<<sort[9]<<endl;
  cout<<sort[8]<<endl;
  cout<<sort[7]<<endl;
}

C++: #include <stdio.h>
#include <math.h>
#include <iostream>


int main(void){
	int x[11],top[3];
	int i;

	for(i=0;i<3;i++){
		top[i] = 0;
	}
	for(i=0;i<10;i++){
		std::cin >> x[i];
		if(top[0] < x[i]){
			top[2] = top[1];
			top[1] = top[0];
			top[0] = x[i];
		}
	}

	std::cout << top[0] << "\n" << top[1] << "\n" <<top[2] << "\n";
	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(begin(a), end(a));
	for (int i = 9; i >= 7; --i)
		cout << a[i] << endl;
	return 0;
}

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

int main() {
  int a[10];
  for (int i = 0; i < 10; ++i) {
    scanf("%d", &a[i]);
  }
  sort(a, a + 10);
  printf("%d\n%d\n%d\n", a[9], a[8], a[7]);
}

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

int main() {
	int a;
	vector<int> v;
	while (cin >> a) {
		v.push_back(a);
	}
	sort(v.begin(), v.end(), greater<int>());
	
	cout << v[0] << "\n" << v[1] << "\n" << v[2] << "\n";
	return 0;
}

C++: #include<iostream>

int main(){
            int a[10],i,j,n;
          
 
for(i=0,i<10,i++){
                std::cin>>a[i];
                          }
for(i=0,i<10,i++){
                for(j=i+1,j<10,j++){
                            if(a[i]<a[j]){
                n=a[i];
                a[i]=a[j];
                a[j]=n;
            }
       }
}
for(i=0,i<3,i++){
            std::cout<<a[i]<<std::endl;
           }
return 0;
}

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

int main()
{
	std::vector<int> height(10);

	for(size_t i=0; i<height.size(); ++i)
	{
		std::cin >> height[i];
	}

	std::sort(height.begin(),height.end());

	for(size_t i=0; i<3; ++i)
	{
		std::cout << height[height.size()-1-i] << '\n';
	}
}

C++: #include<bits/stdc++.h>
using namespace std;
int main()
{
 int a[10],i;
 for(i=0;i<=9;i++)
    scanf("%d",&a[i]);
 sort(a,a+10);
 printf("%d\n%d\n%d\n",a[9],a[8],a[7]);
 return 0;
}

C++: #include<iostream>
#include<algorithm>
using namespace std;
int main(void){
  int data[10];
  int count=10;
  for (int i = 0; i < count; i++) {
    cin>>data[i];
  }
  sort(data,data+10);
  for (int i = 0; i < 3; i++) {
    cout<<data[9-i]<<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;
	
	
	}

C++: #include <stdio.h>

int main(void)
{
	int m[10],out[3]={0,0,0};

	for(int i=0;i<10;i++) //???????????????
		scanf("%d",&m[i]);

	for(int i=0;i<10;i++){
		if(out[0]<=m[i]){
			out[2]=out[1];
			out[1]=out[0];
			out[0]=m[i];
		}else if(out[1]<=m[i]){
			out[2]=out[1];
			out[1]=m[i];
		}else if(out[2]<=m[i]){
			out[2]=m[i];
		}
	}

	for(int i=0;i<3;i++)
		printf("%d\n",out[i]);

	return 0;
}

C++: #include <iostream>
#include <algorithm>
using namespace std;
int a[15];

int main(){
    for(int i=0;i<10;i++) cin >> a[i];
    sort(a,a+n);
    cout << a[9] << endl << a[8] << endl << a[7] << endl;
    return 0;
}

C++: #include <stdio.h>
int main(void){
    int a=0,b=0,c=0,d=10,n,t;
    while(d--){
        scanf("%d",&n);
        if(n>a)t=n,n=a,a=t;
        if(n>b)t=n,n=b,b=t;
        if(n>c)c=n;
    }
    printf("%d\n%d\n%d\n",a,b,c);
    return 0;
}

C++: file:///home/ooki/AOJ/top3.c

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

using namespace std;

int x[1000];
int temp[1000];
void MargeSort(int x[],int left,int right){
    int i,j,mid;
    if(left>=right)return;
    mid=(left+right)/2;
    MargeSort(x,left,mid);
    MargeSort(x,mid+1,right);
    for(int i=left;i<=mid;i++){
        temp[i]=x[i];
    }
    for(int i=mid+1,int j=right;i<=right;i++,j--){
        temp[i]=x[j];
    }
    i=left; j=right;
    for(k=left;k<=right;k++){
        if(int temp[i]>=temp[j])x[k]=temp[i++];
        else x[k]=temp[j--];
    }
}

int main(){
    int num=10;
    for(int i=0;i<num;i++){
        cin>>x[i];
    }
    MargeSort(x,0,num-1);
    for(int i=0;i<3;i++){
        cout<<x[i]<<endl;
    }
    return 0;
}

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

int main(){
    std::set<int> s{1819, 2003, 876, 2840, 1723, 1673, 3776, 2848, 1592, 922};
    auto itr = s.end();
    for(int i = 0; i < 3; ++i) {
        --itr;
        std::cout << *itr << std::endl;
    }
    return 0;
}

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

int main()
{
	int first,second,third;
	int a[10];
	for(int i = 0; i < 10; i++){
		cin >> a[i];
	}
	sort(a,a+10);
	first = a[9];
	second = a[8];
	third = a[7];
	
	cout << first << endl;
	cout << second << endl;
	cout << third << endl;

	return 0;
}

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

int main(){
  vector<int> m(10);
  for (int i = 0; i < 10; i++) {
    cin >> m.at(i);
  }
  sort(m.begin(), m.end(), greater<int>());
  for (int i = 0; i < 3; i++) {
    cout << m.at(i) << endl;
  }
}

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

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

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

C++: #include <stdio.h>

int nList[10],nGet,nSave[3];
int main() {
    for (int i=0;i<10;i++){
            scanf("%i",&nGet);
    nList[i]=nGet;
    }


for (int rf=0;rf<10;rf++ ){
for (int rs=0;rs<10;rs++){
    if (nList[rs]>nSave[0]){nSave[0]=nList[rs];}
    else if (nList[rs]>nSave[1]&&nList[rs]!=nSave[0]){nSave[1]=nList[rs];}
    else if (nList[rs]>nSave[2]&&nList[rs]!=nSave[0]&&nList[rs]!=nSave[1]){nSave[2]=nList[rs];}
    }
}


printf("%i\n%i\n%i",nSave[0],nSave[1],nSave[2]);
}