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 <stdio.h>

int main(void)
{
	int m[10];
	int max1 = 0, max2 = 0, max3 = 0;
	int i;
	
	for (i = 0; i < 10; i++){
		scanf("%d", &m[i]);
	}
	
	for (i = 0; i < 10; i++){
		if (max1 <= m[i]){
			/*max1 = m[i];
			max2 = max1;*/
			max3 = max2;
			max2 = max1;
			max1 = m[i];
		}
		else if (max2 <= m[10]){
			max3 = max2;
			max2 = m[i];
		}
		else if (max3 <= m[10]){
			max3 = m[i];
		}
	}
	
	printf("%d\n%d\n%d\n", max1, max2, max3);
	
	return (0);
}

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

int main(){
	int x[10],y;
	for(int i = 0 ; i < 10 ; i++){
		cin >> x[i];
	}
	for(int i = 0 ; i < 10 ; i++){
		for(int l = i + 1 ; l < 10 ; l++){
			if(x[i]<x[l]){
				y=x[i];
				x[i]=x[l];
				x[l]=y;
			}
		}
	}
	for(int i = 0 ; i <= 2 ; i++){
		cout<<x[i]<<endl;
	}
	return 0;
}

C++: /*------------------------------------------------------------------------------------------------|
| %%%%%%%%%%%%%%%%%%%%%%%%%MD.ASANURJAMAL ANOWAR HOSSAIN ANU%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| %%%%%%%%%%%%%%%%%%%%%%%%%COMPUTER SCIENCE AND ENGINEERING%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| %%%%%%%%%%%%%%%%%%%%%%%%%ISLAMIC UNIVERSITY KUSHTIA%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| %%%%%%%%%%%%%%%%%%%%%%%%%BANGLADESH%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|-------------------------------------------------------------------------------------------------*/
#include <algorithm>
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <string>
#include <cmath>
#include <list>
#include <map>
#include <fstream>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <bitset>
#include <cctype>
#include <vector>
#include <complex>
#include <ctime>
#include <deque>
#include <memory>
#include <utility>

#define S(a) scanf("%d",&a)
#define SL(a) scanf("%ld",&a)
#define S2(a,b) scanf("%d%d",&a,&b)
#define SL2(a,b) scanf("%ld%ld",&a,&b)
#define S3(a,b,c) scanf("%d%d%d",&a,&b,&c)
#define SL3(a,b,c) scanf("%ld%ld%ld",&a,&b,&c)
#define SLL(a) scanf("%lld",&a)
#define SLL2(a,b) scanf("%lld%lld",&a,&b)
#define SLL3(a,b,c) scanf("%lld%lld%lld",&a,&b,&c)
#define SS(a) scanf("%s",a)
#define SC(a) scanf("%c",&a)
#define SD(a) scanf("%lf",&a)
#define P(a) printf("%d",a)
#define PL(a) printf("%ld",a)
#define PLL(a) printf("%lld",a)
#define PD(a) printf("%lf",a)
#define PC(a) printf("%c",a)
#define PS(a) printf("%s",a)
#define CS(kk) printf("Case %ld: ",kk++)
#define NL(kk) printf("\n")
#define PI 3.14159265358979323846264338327950
#define eps 1e-9
#define MAX(a,b) (a>b?a:b)
#define MIN(a,b) (a<b?a:b)

using namespace std;
long a[100006]={0};
int main()
{
    long i,ii;
    //for(i=1;i<=9;i++)
    for(ii=0;ii<=9;ii++)
    {
        cin>>a[ii];
    }
    sort(a,a+10);
    cout<<a[9]<<"\n"<<a[8]<<"\n"<<a[7]<<"\n";
 return 0;
}

C++: #include<iostream>
#include<queue>
#include<string>
#include<stack>
#include<cstdio>

using namespace std;

int main(void)
{
  int a[10]={};
  int i=0;
  int j=0;

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

  sort(a,a+10);

  cout<<a[9]<<endl<<a[8]<<endl<<a[7]<<endl;

}

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

using namespace std;

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

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

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

 for(int i=0; i<3; i++){
  int n = h[0];
  for(int j=1; j<10; j++)
   if(n < h[j]){
    n = h[j];
    h[j] = -1;
   }
  cout << n << '\n';
 }

 return 0;
}

C++: #include <iostream>

using namespace std;

int main()
{
    int data[11];
    int temp;
    cout << "Input 10 Data(value = 1-10000): " << endl;
    for(int a = 0;a<10;a++)
    {
        cin >> data[a];
        if(data[a]<0||data[a]>10000)return 0;
    }

    for(int x=0;x<10;x++)
    {
        for(int y=0;y<10;y++)
        {
            if(data[y]<data[y+1])
            {
                temp = data[y];
                data[y] = data[y+1];
                data[y+1] = temp;
            }
        }
    }
    cout << data[0] << data[1] << data[2];
}

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

void updateRank(int *a,int in){
    int tmp;
    for(int ii=0;ii<3;ii++){
        if(a[ii] < in){            
            tmp = a[ii];
            a[ii] = in;
            
            for(int jj=ii+1;jj<3;jj++){
                int tmp2;
                tmp2 = a[jj];
                a[jj] = tmp;
                tmp = tmp2;
            }
            break;
        }
    }
}
int main(){
    
    int out[3];
    for(int ii=0;ii<10;ii++){
        int in;
        cin >> in;
        updateRank(out,in);
    }
    
    for(int ii=0;ii<3;ii++){
        cout << out[ii] << endl;
    }
    return 0;
}

C++: #include<stdio.h>
int main(void){
	int d, m1 = 0, m2 = 0, m3 = 0, i;{
	scanf("%d", &d);
		for(i=1;i<10;i++){
			scanf("%d", &d);
			if(d > m1){
			m3 = m2;
			m2 = m1;
			m1 = d;
				}else if(d > m2){
				m3 = m2;
				m2 = d;
					} else if(d > m3){
					m3 = d;
					}
		}
	printf("%d\f""%d\f""%d\f", m1, m2, m3);
	return 0;
	}
}

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

int main() {
	vector<int>a(10);
	for (int b = 0; b < 10; b++)cin >> a[b];
	sort(a.begin(), a.end());
	printf("%d\n%d\n%d\n", a[9], a[8], a[7]);
}

C++: 
#include <iostream>
#include <stdlib.h>
using namespace std;
int com(const void *a, const void *b)
{
	return *(int*)b-*(int*)a;
}

int main()
{
	int H[11]={0},*p=H;
	while(cin>>*p++)
	qsort(H,11,sizeof(int),com);
	cout<<H[0]<<endl;
	cout<<H[1]<<endl;
	cout<<H[2]<<endl;
	return 0;
}

C++: #include <stdio.h>

int main(void)
{

	int a[3] = {0,0,0};
	int b,c;

	for(int i = 0; i < 10; i++){
		scanf("%d", &b);
		for(int j = 2; j >= 0; j--){
			if(a[j] < b){
				c = a[j];
				a[j] = b;
				b = c;
			}
		}
	}
	for(int i = 2; i >= 0; i--)
		printf("%d\n", a[i]);


return 0;
}

C++: #include <iostream>

using namespace std;

int main()
{
   int mountain [10] = {100,400,550,800,150,700,1800,6000,7800,890};
   cout << mountain [8] << endl;
   cout << mountain [7] << endl;
   cout << mountain [6] << endl;


    return 0;
}

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

main()
{
    int n=0;
    int num[100];
    int t;
    while(scanf("%d",&t)!=EOF)
    {
        num[n++]=t;
    }
    sort(num,num+n);
    printf("%d\n%d\n%d\n",num[n-1],num[n-2],num[n-3]);
}

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

int cmp(const void* a, const void* b);

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

	qsort(mt, 10, sizeof(int), cmp);
	
	cout << mt[0] << endl
		 << mt[1] << endl
		 << mt[2] << endl;
		 
}

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

C++: import scala.io.Source

object Main extends App {
  val src = Source.io.stdin.getLines.map(_.toInt).toList
  val top3: List[Int] = src.sortWith(_<_).take(3)
  top3.map(println)
}