Go: package main

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

var sc = bufio.NewScanner(os.Stdin)

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

func main() {
	sc.Split(bufio.ScanLines)

	s := make([]int, 10)
	for i := 0; i < 10; i++ {
		s[i], _ = strconv.Atoi(read())
	}
	sort.Sort(sort.Reverse(sort.IntSlice(s)))
	fmt.Println(s[0])
	fmt.Println(s[1])
	fmt.Println(s[2])
}

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

using namespace std;

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

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

int main(){
	priority_queue<int> a;
	for (int i = 0; i < 10; ++i) {
		int high;
		cin >> high;
		a.push(high);
	}
	for (int i = 0; i < 3; ++i) {
		cout << a.top() << endl;
		a.pop();
	}
	return 0;
}

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

using namespace std;

const int numOfMountain = 10;

int main(int argc, char* argv[]){
    int mountainBuf;
    vector<int> mountains;

    for(int i = 0; i <= numOfMountain; i++) {
        mountainBuf = atoi(argv[i]);
        mountains.push_back(mountainBuf);
    }

    sort(mountains.begin(), mountains.end());

    auto out = mountains.end();
    for(int i = 0; i < 3; i++) {
        cout << *--out << endl;
    }

    return 0;
}

C++: #include<bits/stdc++.h>
using namespace std;
int main()
{
    int arra[10],i;
    for(i=0;i<10;i++)
        cin>>arra[i];
    sort(arra,arra+10);
    for(i=9;i>6;i--)
        cout<<arra[i]<<endl;
    return 0;
}

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

C++: #include <stdio.h>
#include <algorithm>
using namespace std;
#define rep(i, n) for (int i = 0; i < (int)(n); i++)

int a[10];

int main() {
    rep (i, 10) scanf("%d", a+i);
    sort(a, a+10);
    reverse(a, a+10);
    rep (i, 3) printf("%d\n", a[i]);
    return 0;
}

C++: #include <bits/stdc++.h>
using namespace std;
#define rep(i,n) for (int i=0;i<n;i++)

int main() {
  vector<int> h(10);
  rep(i,10) cin>>h[i];
  sort(h.begin(),h.end());
  cout<<h[9]<<endl<<h[8]<<endl<<h[7]<<endl;
  return 0;
}

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

int main(int argc, char *argv[]){
	int unco[MAX];
	for(int i=0;i<MAX;i++)cin>>unco[i];
	sort(unco, unco+MAX);
	cout<<unco[9]<<endl;
	cout<<unco[8]<<endl;
	cout<<unco[7]<<endl;
	return 0;
}

C++: #include<bits/stdc++.h>
using namespace std;
int main()
{
    int T,t,a[20];

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

      cout<<a[10-1]<<endl;
      cout<<a[10-2]<<endl;
      cout<<a[10-3]<<endl;

      return 0;
}

C++: #include <iostream>

int main(int argc, const char * argv[])
{
    using namespace std;
    int max = 0;
    int second = 0;
    int third = 0;
    
    int n[10];
    int swap;
    
    for(int i = 0; i < 10; i++) {
        cin >> n[i];
    }
    for(int i = 0; i < 10; i++) {
        if(max < n[i]) {
            if(max > second) {
                swap = second;
                second = max;
                if (swap > third) {
                    third = swap;
                }
            }
            max = n[i];
        }
        else if(second < n[i]) {
            if (third > second) {
                third = second;
            }
            second = n[i];
        }
        else if(third < n[i]) {
            third = n[i];
        }
    }
    
    cout << max << "\n" << second << "\n" << third << "\n";
    return 0;
}

C++: #include<iostream>

using namespace std;

void Swap(int *a,int *b){
	int tmp = *a;
	*a = *b;
	*b = tmp;
}

int main(){

	int a[10];

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

	int i,j;
	for(i=0;i<10;i++){
		for(j=9;j>i;j--){
			if(a[j]<=a[j-1]){
				Swap(&a[j],&a[j-1]);
			}
		}
	}

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

	return 0;
}

C++: #include <stdio.h>
int main()
{
  int f=0,s=0,t=0,m;
  while(scanf("%d",&m)!=EOF){
    if(m>f){
      t=s;
      s=f;
      f=m;
    }else if(m>s){
      t=s;
      s=m;
    }else if(m>t){
      t=m;
    }
  }
  printf("%d\n%d\n%d\n",f,s,t);
  return 0;
}

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

int main() {
  vector <int> V;
  for (auto i=0; i<10; i++) {
    int h;
    cin >> h;
    V.push_back(h);
  }
  sort(V.begin(), V.end());
  reverse(V.begin(), V.end());
  cout << V[0] << endl;
  cout << V[1] << endl;
  cout << V[2] << endl;
}

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

int main(){
    int first,second,third;
    int number;
    
    first=0;
    second=0;
    third=0;
    
    for(int i=0;i<10;i++){
        cin >> number;
        if(number>first){
            third=second;
            second=first;
            first=number;
        }
        else if(number>second){
            third=second;
            second=number;
        }
        else if(number>third){
            third=number;
        }
    }
    
    cout << first << endl << second << endl << third << endl;

    return 0;
}

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

int main() {
  int n[10];

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

  sort(n, n+10);
  for(int i = 0; i < 3; i++) {
    cout << n[9-i] << endl;
  }
}

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

using namespace std;

const int numOfMountain = 10;

int main(){
    int mountainBuf;
    vector<int> mountains;

    for(int i = 0; i <= numOfMountain; i++) {
        cin >> mountainBuf;
        mountains.push_back(mountainBuf);
    }

    sort(mountains.begin(), mountains.end());

    vector<int>::iterator out = mountains.end();
    for(int i = 0; i < 3; i++) {
        out--;
        cout << *out << endl;
    }

    return 0;
}

C++: #include <stdio.h>
int main(void) {
	int mt[10];
	int i, j, buf;

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

	for (i = 0; i < 9; i++){
		for (j = i+1; j < 10; j++){
			if (mt[j] >= mt[i]){
				buf = mt[i];
				mt[i] = mt[j];
				mt[j] = buf;
			}

		}	
	}

	for (i = 0; i < 3; i++){
		printf("%d\n", mt[i]);
	}
	return 0;
}

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

int main(){
  int a[10];
  int tmp;
  int n = 0;

  while(n<10){
    cin >> a[n];
    n++;
  }

  int i,j;

  //降順ソート
  for(i = 0;i < 10;i++){
    for(j = i+1;j < 10;j++){
      if(a[i] < a[j]){
	tmp = a[i];
	a[i] = a[j];
	a[j] = tmp;
      }
    }
  }

  //結果の表示
  for(i = 0;i < 3;i++){
    cout << a[i] << endl;
  }
    return 0;
}

C++: //
//  main.cpp
//  kyougi
//
//  Created by 寺林 一旭 on 2018/08/27.
//  Copyright © 2018年 寺林 一旭. All rights reserved.
//

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
 
    int num;
    vector<int> list;
    while(cin)
    {
    cin >> num;
        list.push_back(num);
   
    }
    sort(list.begin(), list.end(), greater<int>());
    for(int i = 0 ; i< 3 ; i++)
    {
        cout<< list[i] <<endl;
    }
    
    
    return 0;
}

C++: #include <bits/stdc++.h>
using  namespace std;
#define ll    long long int
#define pai     pair<int,int>
#define vi      vector<int>
#define vd      vector<double>
#define mpi     map<int,int>
#define mps     map<string,int>
#define sti     stack<int>
#define stc     stack<char>
#define sei     set<int>
#define ses     set<string>
#define multii  multiset<int>

 int main()
{
  /*#ifndef ONLINE_JUDGE
  freopen("tin.txt","r",stdin);
  freopen("tout.txt","w",stdout);
  #endif*/
vi v;
 ll n;
 while(cin>>n){
    v.push_back(n);

 }
sort(v.begin(),v.end(),greater<int>());
 int c=0;
for(int i=0;i<3;i++){
   cout<<v[i]<<endl;
}
}