Go: package main

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

var rdr = bufio.NewReaderSize(os.Stdin, 1000000)

func readLine() string {
	buf := make([]byte, 0, 1000000)
	for {
		l, p, e := rdr.ReadLine()
		if e != nil {
			panic(e)
		}
		buf = append(buf, l...)
		if !p {
			break
		}
	}
	return string(buf)
}

func toInt(str string) int {
	n, _ := strconv.Atoi(str)
	return n
}

func main() {
	lst := make([]int, 0)
	for i := 0; i < 10; i++ {
		lst = append(lst, toInt(readLine()))
	}
	sort.Ints(lst)
	for i := 9; i > 6; i-- {
		fmt.Println(lst[i])
	}
}

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]);
}

C++: #include <cstdio>

int main() {
  int h;
  int h1 = 0, h2 = 0, h3 = 0;

  while (scanf("%d", &h) != EOF) {
    if (h > h1) {
      h3 = h2;
      h2 = h1;
      h1 = h;
    } else if (h > h2) {
      h3 = h2;
      h2 = h;
    } else if (h > h3) {
      h3 = h;
    }
  }

  printf("%d\n%d\n%d\n", h1, h2, h3);

  return 0;
}

C++: #include<iostream>
#include<stdio.h>
#include<string.h>
#include<math.h>
using namespace std;

#define MAX 256

int main(void){

	int a[10], b;

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

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

	printf("%d\n%d\n%d\n", a[0], a[1], a[2]);

	return 0;
}

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

int main()
{
	int a[10];
	for (int i = 0; i < 10; ++i)
	{
		cin >> a[i];
	}
	for (int i = 0; i < 10-1; ++i)
	{
		for (int j = i + 1; j < 10; ++j)
		{
			if (a[i] < a[j])
				swap(a[i], a[j]);
		}
	}
	for (int i = 0; i < 3; ++i)
	{
		cout << a[i] << endl;
	}
	system("pause");
	return 0;
}

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

int main()
{
	std::vector<int> vec(10);
	for (int i = 0; i < 10; ++i) {
		std::cin >> vec[i];
	}
	std::nth_element(
			vec.begin(), vec.begin() + 3, vec.end(),
			std::greater<int>());
	for (int i = 0; i < 3; ++i) {
		std::cout << vec[i] << std::endl;
	}
	return 0;
}

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

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

	sort(ary, ary + 10);

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

	return 0;
}

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

enum SORTORDER {ASC, DESC};

void SelectSort(int, int[], int);

int main(){
	const int SIZEINPUT = 10;
	const int NUMMIN = 1;
	const int NUMMAX = 10000;
	const int SIZEOUTPUT = 3;
	const int SORTORDER = DESC;

	int inputnum;
	int num[SIZEINPUT];
	int i;

	//input
	i = 0;
	while(i<SIZEINPUT){
		cin >> inputnum;
		if(inputnum>=NUMMIN && inputnum<=NUMMAX){
			num[i] = inputnum;
			i++;
		}else{
			cout << "Number " << inputnum << " is denied!" << endl;
		}
	}
	SelectSort(SIZEINPUT, &num[0], SORTORDER);
	//output
	i = 0;
	while(i<SIZEOUTPUT){
		cout << num[i] << endl;
		i++;
	}
}

void SelectSort(int n, int num[], int order){
	int i, j, k;
	int extreme;
	bool chk = false;

	for(i=0; i<n-1; i++){
		extreme = num[i];
		k = i;
		for(j=i+1; j<n; j++){
			switch(order){
			case ASC:
				chk = (num[j]<extreme);
				break;
			case DESC:
				chk = (extreme<num[j]);
				break;
			default:
				;
			}
			if(chk){
				extreme = num[j];
				k = j;
			}
		}
		num[k] = num[i];
		num[i] = extreme;
	}
}

C++: #include<stdio.h>

int main()
{
	int high[10] = {1819,2003,876,2876,1723,1673,3776,2848,1592,922};
	int cases;
	
	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>
#include <cstdio>
#include <functional>
#include <algorithm>
#include <string>
using namespace std;

int main(){
        int i;
        int high[10];
        for(i = 0; i < 10; i++){
                scanf("%d", &high[i]);
        }
        sort(high, high + 10);
        reverse(high, high + 10);
        for(i = 0; i < 3; i++){
                printf("%d", high[i]);
        }
        return 0;
}