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<string>
using namespace std;
int main(){
    int a[10];
    for(int i=0;i<10;i++)
        cin>>a[i];
    for(int i=0;i<9;i++){
      for(int j=9;j>i;j--){
        if(a[j]>a[j-1]){
        int t=a[j];
        a[j]=a[j-1];
        a[j-1]=t;
       }
      }
    }
    cout<<a[0]<<endl;
    cout<<a[1]<<endl;
    cout<<a[2]<<endl;
    return 0;
}

C++: #include <cstdio>
#include <algorithm>
 
using namespace std;
 
int main(void){
  int i,array[10];
 
  for(i=0;i<10;i++)  scanf("%d",&array[i]);
  sort(array,array+10);
  for(i=9;i>=7;i++)  printf("%d\n",array[i]);
 
  return 0;
}

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

#define BOGO 10

using namespace std;

bool is_sorted(vector<int> arr, int size)
{
	bool sorted = true;
	for(int i = 0; i < size; i++){
		if(!(arr[i] <= arr[i+1])){
			sorted = false;
		}
	}
	
	return sorted;
}

int main()
{
	vector<int> arr(BOGO);
	
	for(int i = 0; i < BOGO; i++){
		cin >> arr[i];
	}
	
	for(;;){
		if(is_sorted(arr, arr.size())){
			break;
		}
		random_shuffle(arr.begin(), arr.end());
	}
	
	cout << arr[9] << "\n" << arr[8] << "\n" << arr[7] << endl;
}

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

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

	for(int i=0;i<10;++i)
	{
		std::cin >> h;
		high[i] = h;
	}

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

	for(size_t i=high.size()-1;i>6;--i)
	{
		std::cout << high[i] << '\n';
	}


}

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

using namespace std;

int main(int argc, char const* argv[])
{
	int hoge[10];

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

	sort( hoge, hoge + 10, greater<int>() );

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

	
	return 0;
}

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

int main()
{
	set<int> s;
	for(int i=0;i<10;i++){
		int in;
		cin >> in;
		s.insert(in);
	}
	
	set<int>::iterator it = s.end();
	--it;
	cout << endl;
	for(int i=0;i<3;i++){
		cout << *it << endl;
		--it;
	}
	return 0;
}

C++: #include<stdio.h>

int main(void)
{
	int high[10]={1819,2003,876,2840,1723,1673,3776,2848,1592,922};
	int x,max=0,time;


	for(time=1;time<=3;time++)
	{
		for(x=0;x<10;x++)
		{
			if(max<high[x])
			{
				max=high[x];
			}
		}
		for(x=0;x<10;x++)
		{
			if(max==high[x])
			{
				printf("%d\n",high[x]);
				high[x]=0;
			}
		}
	}

	return 0;
}

C++: #include <iostream>
#include <stdio.h>
#include <stdlib.h>
#define N 10
int main(int argc, const char * argv[])
{
    int x=0;
    int max1=-1;
    int max2=-2;
    int max3=-3;
    
    for(int j=0; j<N; j++){
        scanf("%d\n",&x);
        if(max1<=x){
            max3=max2;
            max2=max1;
            max1=x;
        }else if(max2<=x){
            max3=max2;
            max2=x;
        }else if(max3<=x){
            max3=x;
        }
    }
    printf("%d\n",max1);
    printf("%d\n",max2);
    printf("%d\n",max3);
}

C++: // Bismillahir Rahmanir Rahim

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

typedef long long int ll;
typedef unsigned long long int ull;
typedef long double ld;
typedef vector <int> vi;
typedef vector <ll> vl;
typedef pair <ll, ll> pll;
typedef pair <ll, pll> plp;
typedef pair <int, int> pii;
typedef pair <int, pii> pip;
typedef map <int, vector<int> > mvi;
typedef map <ll, vector<ll> > mvl;

const int MX = 2e6+10;
const int mod = 1e9 + 7;
const ll inf = 1LL << 62;

int dx4[] = { 0, 0, -1, 1 };
int dy4[] = { 1, -1, 0, 0 };

int dx[] = { 1, 1, 1, 0, 0, -1, -1, -1 };
int dy[] = { 1, 0, -1, 1, -1, 1, 0, -1 };

// TOOLS
#define LCM(a,b)        (a / __gcd(a,b) ) *b
#define gcd(a,b)        __gcd(a,b)
#define all(x)          (x).begin(), (x).end()
#define mem(a, n)       memset(a, n, sizeof(a))
#define for1(i, n)      for(int i=1; i<=n; i++)
#define for0(i, n)      for(int i=0; i<n; i++)
#define rof0(i, n)      for(int i=n-1; i>=0; i--)
#define rof1(i, n)      for(int i=n; i>=1; i--)
#define forab(i, a, b)  for(int i=a; i<=b; i++)
#define rofab(i, a, b)  for(int i=b; i>=a; i--)
#define pb              push_back
#define pbb             pop_back

// CIN/COUT
#define YES             cout << "YES" << endl
#define NO              cout << "NO" << endl
#define sin(s)          getline(cin, s)
#define scf(a)          cin >> a
#define scf2(a, b)      cin >> a >> b
#define scf3(a, b, c)   cin >> a >> b >> c
#define scf4(a,b,c,d)   cin >> a >> b >> c >> d
#define pnf(a)          cout << (a) << endl
#define pnf2(a, b)      cout << (a) << " " << (b) << endl
#define pnf3(a, b, c)   cout << (a) << " " << (b) << " " << (c) << endl
#define bug(n)          cout << ">> " << n << " <<" << endl
#define line            cout << "==========" << endl
#define pnfa(a)         cout << (a) << " "
#define pf(a)           cout << (a)
#define sp              cout << " "
#define nl              cout << endl
#define Cas(a)              cout << "Case "<<(a)<<": "

// SCANF/PRINTF
#define fYES            printf("YES\n")
#define fNO             printf("NO\n")
#define Sin(s)          gets(s)
#define Scf(a)          scanf("%lld", &a)
#define Scf2(a, b)      scanf("%lld %lld", &a, &b)
#define Scf3(a, b, c)   scanf("%lld %lld %lld", &a, &b, &c)
#define Scf4(a,b,c,d)   scanf("%lld %lld %lld %lld", &a, &b, &c, &d)
#define Pnf(a)          printf("%lld\n", a)
#define Pnf2(a, b)      printf("%lld %lld\n", a, b)
#define Pnf3(a, b, c)   printf("%lld %lld %lld\n", a, b, c)
#define Bug(n)          printf(">> %lld <<\n", n)
#define Line            printf("==========\n")
#define Pnfa(a)         printf("%lld ", a)
#define Pf(a)           printf("%lld", a)
#define Sp              printf(" ")
#define Nl              printf("\n")

// OTHERS
#define saz(n)          n.size()
#define clr(v)          v.clear()
#define min3(a, b, c)   min(a, min(b, c))
#define max3(a, b, c)   max(a, max(b, c))
#define in              freopen("input.txt", "r", stdin)
#define out             freopen("output.txt", "w", stdout)
#define FastIO          { ios_base::sync_with_stdio(false); cin.tie(0); }
#define F               first
#define S               second
#define mpp             make_pair

//string s;
//vector<ll> v;
//vector<ll> v[MX];
//ll ar[MX], br[MX];
//ll vist[MX];
//map<ll,ll> mp;

int main()
{

    ll n, m, k, q, t, cnt = 0, sum = 0,ans=0, mx = -inf, mn = inf, a, b, c,d,e,f,g,h,i,j ,x, y, z,temp, temp1;
    string s, s1, s2, s3;
    vector<int> v;
    for0(i,10)
    {
        cin>>a;
        v.pb(a);
    }
    sort(all(v));
    int len=v.size()-1;
    cout<<v[len]<<endl<<v[len-1]<<endl<<v[len-2]<<endl;

    return 0;
}