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<vector>
#include<algorithm>

using namespace std;

int main(){
  vector<int> vi;
  for(int i=0;i<10;i++){
    int buf;
    cin >> buf;
    vi.push_back(buf);
  }

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

  for(int i=1;i<=3;i++){
    cout<< vi[vi.size()-i] << endl;
  }
}

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

int main(){
	const int N = 10;
	
	int mountain[N];

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

	int _1st = 0;
	int _2nd = 0;
	int _3rd = 0;

	for (int i = 0; i < N; i++){
		if (mountain[i]>_1st){
			_3rd = _2nd;
			_2nd = _1st;
			_1st = mountain[i];
		}
		else if (mountain[i] > _2nd){
			_3rd = _2nd;
			_2nd = mountain[i];
		}
		else if (mountain[i] > _3rd){
			_3rd = mountain[i];
		}
	}
	cout << _1st << endl;
	cout << _2nd << endl;
	cout << _3rd << endl;

	return 0;
}

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

using namespace std;

int main(){

	int A[10];

	cin >> A[0] >> A[1] >> A[2] >> A[3] >> A[4] >> A[5] >> A[6] >> A[7] >> A[8] >> A[9];


	sort(A, A+10);

	cout << A[0] << endl;
	cout << A[1] << endl;
	cout << A[2] << endl;
}

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);
	reverse(a, a + 10);
	for (int i = 0; i < 3; i++) {
		cout << a[i] << endl;
	}
}

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

using namespace std;

int data;
int mountain[10001];
int i=0;

int main(){
	while(scanf("%d",&data) != EOF){
		mountain[i] = data;
		i++;
	}

	sort(mountain, mountain + 10001);

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

    return 0;
}

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

using namespace std;


int main()
{
	int a[10];
	for (int s=0; s <= 9; s++)
	{
		cin >> a[s];
	}
	sort(a, a + 10, greater<int>());
	cout << a[0] << endl << a[1] << endl << a[2] << endl;
	return 0;
}

C++: #include<iostream>
using namespace std;
int main(){
	int a[10],b,c;
	for(int i=0;i<10;i++){
		cin>>a[i];
	}
	for(int i=0;i<10;i++){
		for(int j=9;j>i;j--){
			if(a[j]<a[j-1]){
				b=a[j];
				a[j]=a[j-1];
				a[j-1]=b;
			}
		}
	}
	cout<<a[9]<<'\n'<<a[8]<<'\n'<<a[7]<<endl;
	return 0;
}

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

using std::cin;
int main(){
	int a[10];
	int b;
	for(int i=0;i<10;i++){
		cin >> a[i];
	}   int mou1,mou2,mou3;
			mou1=a[0];
	    for(int i=0;i<10;i++){
		
		if(mou1<a[i]){
				mou1=a[i];
				b=i;
		}
		}
		a[b]=0;
		mou2=a[0];
		 for(int i=0;i<10;i++){
		
		if(mou2<a[i]){
				mou2=a[i];
				b=i;
				
		}
		}a[b]=0;
		 mou3=a[0];
		  for(int i=0;i<10;i++){
		
		if(mou3<a[i]){
				mou3=a[i];
				b=i;
				
		}
		}
		cout<<mou1<<"\n"<<mou2<<"\n"<<mou3;

	return 0;

}

C++: #include <iostream>
#include <queue>
#include <vector>
using namespace std;
 
int main()
{
    priority_queue< int,vector<int>,less<int> > que;
    int in;
 
    for(int i = 0; i < 10; i++){
        cin >> in;
        que.push(in);
    }
 
 
    for(int j = 0; j < 3; j++){
        cout << que.top() << '\n';
        que.pop();
    }
 
    return 0;
}

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

int main()
{
    std::multiset< int, std::greater<int> > s;
    for (int i = 0; i < 10; ++i) {
        int h;
        std::cin >> h;
        s.insert(h);
    }
    std::multiset< int, std::greater<int> >::iterator it = s.begin();
    for (int i = 0; i < 3; ++i)
        std::cout << *it++ << std::endl;
}

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

using namespace std;

inline int toInt(string s) {int v; istringstream sin(s);sin>>v;return v;}
template<class T> inline string toString(T x) {ostringstream sout;sout<<x;return sout.str();}
template<class T> inline T sqr(T x) {return x*x;}

typedef vector<int> vi;
typedef vector<vi> vvi;
typedef vector<string> vs;
typedef pair<int, int> pii;
typedef long long ll;

#define all(a)  (a).begin(),(a).end()
#define rall(a) (a).rbegin(), (a).rend()
#define pb push_back
#define mp make_pair
#define each(i,c) for(typeof((c).begin()) i=(c).begin(); i!=(c).end(); ++i)
#define exist(s,e) ((s).find(e)!=(s).end())
#define range(i,a,b) for(int i=(a);i<(b);++i)
#define rep(i,n)  range(i,0,n)
#define clr(a,b) memset((a), (b) ,sizeof(a))
#define dump(x)  cerr << #x << " = " << (x) << endl;
#define debug(x) cerr << #x << " = " << (x) << " (L" << __LINE__ << ")" << " " << __FILE__ << endl;

const double eps = 1e-10;
const double pi  = acos(-1.0);
const ll INF =1LL << 62;
const int inf =1 << 24;

int main(void){
    vi a(10);

    for(auto && aa : a){
        cin >> aa;
    }

    sort(all(a), greater<int>());

    rep(i, 3) cout << a[i] << endl;

	return 0;
}

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

int main(){

	int a[10];
	cin >> a[0] >> a[1] >> a[2] >> a[3] >> a[4] >> a[5] >> a[6] >> a[7] >> a[8] >> a[9];
	int i,j;
	int hensuu;
	for(i=0;i<10;i++){
		for(j=0;j<9;j++){
			if(a[j+1]>a[j]){
				hensuu=a[j+1];
				a[j+1]=a[j];
				a[j]=hensuu;
			}
		}
	}
	cout << a[0] << "\n" << a[1] << "\n" << a[2] << endl;

    return 0;
}

C++: #include<iostream>
int main(void){
    int h;
    int t[3] = {0, 0, 0};
    for(int i = 0; i < 10; i++){
        std::cin >> h;
        for(int i = 0; i < 3; i++){
            if(t[i] < h){
                switch(i){
                    case 0:
                        t[i+2] = t[i+1];
                        t[i+1] = t[i];
                        t[i] = h;
                        break;
                    case 1:
                        t[i+1] = t[i];
                        t[i] = h;
                        break;
                }
                break;
            }
        }
    }
    for(int i = 0; i < 3; i++){
        std::cout << t[i] << std::endl;
    }
    return 0;
}

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

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

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

int main(){
  vector<int> n;
  int temp;
  while (cin >> temp) {
    n.push_back(temp);
  }
  sort(n.begin(), n.end(), greater<int>());
  for (int i = 0; i < 3; i++) {
    printf("%d\n", n[i]);
  }
  return 0;
}

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

C++: #include <iostream>
#include<algorithm>
using namespace std;
int main() {
	int a,one=0,two=0,three=0;
	for(int i=0;i<10;i++){
		cin>>a;
		if(a>three)three=a;
		if(three>two)swap(three,two);
		if(two>one)swap(one,two);
	}
	cout<<one<<endl<<two<<endl<<three;
	return 0;
}

C++: #include<iostream>
using namespace std;
int main()
{
	int max = 0;
	int b;
	int a[10];
	for(int i = 0;i<=9;i++)
	{
		cin >> a[i];
	}
	for(int k = 1;k<=3;k++)
	{
	  for(int j = 0;j<=9;j++)
	  {
		if(a[j]>max)
		{
			max=a[j];
			b=j;
		}

	  }
	  cout << max << endl;
	  a[b] = 0;
	  max = 0;
	}
	return 0;
}