Go: package main

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

func main() {
        fp := os.Stdin
        scanner := bufio.NewScanner(fp)
        var lst [3]int

        for scanner.Scan() {
                num, _ := strconv.Atoi(scanner.Text())
                if lst[0] < num {
                        lst[2] = lst[1]
                        lst[1] = lst[0]
                        lst[0] = num
                } else if lst[1] < num {
                        lst[2] = lst[1]
                        lst[1] = num
                } else if lst[2] < num {
                        lst[2] = num
                }
        }

        for _, i := range lst {
                fmt.Printf("%d\n", i)
        }
}

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

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


int main(){

	int yama[10];

	for(int i=0; i<10; i++){
		cin >> yama[i]; 
	}
	
	qsort(yama, 10, sizeof(int), qsort_int);

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

	return 0;

}

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

C++: #include<iostream>
using namespace std;
int h1,h2,h3,t;

int main()
{
    for(int i=0;i<10;i++)
    {
        cin >> t;
        if(t>h1){h3 = h2;h2=h1;h1=t;continue;}
        if(t>h2){h3=h2;h2=t;continue;}
        if(t>h3){h3=t;}
    }
    cout << h1 << endl;
    cout << h2 << endl;
    cout << h3 << endl;

    return 0;
}

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);
	for(int i=9;6<i;i--)cout<<a[i]<<endl;
}

C++: #include <iostream>

using namespace std;

int main(){
	int h[2];
	int i,j;
	for(i=0;i<=2;i++) h[1] = 0;
	for(i=0;i<=9;i++){
		cin>>j;
		if(j >= h[0]) h[0] = j;
		else if (i >= h[1]) h[1] = j;
		else if (i >= h[2]) h[2] = j;
		else continue;
	}
	for(i=0;i<=2;i++){
		cout<<h[i]<<endl;
	}
	cin>>j;
	return 0;
}

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

int main()
{
    int height;
    vector<int> top3;

    while (cin >> height) {
        for (auto it = top3.begin(); it != top3.end(); it++) {
            if (height > *it) {
                it = top3.insert(it, height);
                break;
            }
        }
        if (top3.size() > 3)
            top3.pop_back();
        else if (top3.size() < 3)
            top3.push_back(height);
    }
    
    for (auto h: top3)
        cout << h << endl;

    return 0;
}

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

int main() {
	int n[10];
	for(int i=0;i<10;i++){
		n[i] = 0;
		cin >> n[i];
	}
	sort(n,n+10,greater<int>());
	for(int i=0;i<3;i++)
		cout << n[i] << endl;
	return 0;
}

C++: #include<iostream>
using namespace std;
int main(){
  int m[10];
  int ans = 0;
  for(int i=0;i<10;i++){
    cin >> m[i];
  }
  for(int i=0;i<3;i++){
    for(int f=0;f<10;f++){
      if(ans == m[f]){
	m[f] = 0;
      } 
      for(int j=0;j<10;j++){
    if(ans<m[j]){
      ans = m[j];
    }   
      }
    }
    cout << ans <<endl;  
    ans = 0;
  }
  return 0;
}

C++: #include <stdio.h>
void sortarry(int* Array,int n )
{
int Tmp=0;
int i=0;
int j=0;

for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(Array[i]<Array[j] )
{
Tmp=Array[i];
Array[i]= Array[j];
Array[j]= Tmp;
}
}
}

return ;
}

C++: #include <bits/stdc++.h>
using namespace std;
#define REP(i,n) for(int i=0; i<(n); i++)
#define REP2(i,x,n) for(int i=x; i<(n); i++) 
#define ALL(n) (n).begin,(n).end
/*%e9%ab%98%e3%81%84%e5%b1%b1%e4%b8%8a%e3%81%8b%e3%82%893%e3%81%a4%e5%87%ba%e5%8a%9b*/
int main()
{
    vector<int> vc;
    int N;
    while( cin >> N )
    {
        vc.push_back( N );
    }
    sort( vc.begin(), vc.end(), greater<int>() );
    REP( i, 3 )
    {
        cout << vc[ i ] << endl;
    }
    return 0;
}

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

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

C++: #include<stdio.h>

int main(){
	int a1 = 0, a2 = 0, a3 = 0;
	int x;
	for(int i = 0; i < 10; i++){
		scanf("%d", &x);
		if(x > a3){
			a3 = x;
		}
		if(x > a2){
			a3 = a2;
			a2 = x;
		}
		if(x > a1){
			a2 = a1;
			a1 = x;
		}
	}

	printf("%d\n%d\n%d\n", a1, a2, a3);

	return 0;
}

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

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

int main(){
  vector<int> vec(10);

  for(int i=0;i<10;i++){
    cin >> vec.at(i);
  }
  sort(vec.begin(),vec.end());
  reverse(vec.begin(),vec.end());

  for(int i=0;i<3;i++){
    cout << vec.at(i) << endl;
  }
}

C++: #include<stdio.h>

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

    for (i = 0; i < 10; i++)
        printf("%d\n", height[i]);

    int max1 = 0;
    for(i = 0; i < 10; i++)
        if (height[i] >= max1)
            max1 = height[i];

    int max2 = 0;
    for(i = 0; i < 10; i++)
        if (max1 >= height[i] >= max2)
            max2 = height[i];

    int max3 = 0;
    for(i = 0; i < 10; i++){
        if (max2 >= height[i] >= max3)
            max3 = height[i];
    }

    printf("%d\n", max1);
    printf("%d\n", max2);
    printf("%d\n", max3);

    return 0;
}

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

int main(){
    int a;
    vector<int> v;
    while(cin >> a) v.push_back(a);
    sort(v.begin(), v.end(), greater<int>());
    printf("%d\n%d\n%d\n", v[0], v[1], v[2]);
    return 0;
}

C++: /*
 * Author: xn_rookie
 * Created Time:  2012/2/19 12:03:13
 * File Name: 
 */
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <cstdlib>
#include <algorithm>
#include <vector>
using namespace std;

int main() {
    vector <int> a;
    a.clear();
    for(int i=1;i<=10;i++)
     {
          int x;
          cin>>x;
          a.push_back(x);
    }
    sort(a.begin(),a.end());
    cout<<a[a.size()-1]<<endl<<a[a.size()-2]<<endl<<a[a.size()-3]<<endl;
    return 0;
}

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

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


int main(void)
{
    int i;
    int num[10];

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

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

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

    return 0;
}

C++: #include<iostream>
#include<iomanip>
#include<map>
#include<set>
#include<string>
#include<algorithm>
#include<cmath>
#include<vector>
#include<queue>
#include<stack>
#include<cstring>
#include<sstream>
using namespace std;
 
#define P(p) cout<<(p)<<endl
#define rep(i,m,n) for(int i = (m); i < (int)(n); i++)
#define rrep(i,m,n) for(int i=(int)(m); i>=(int)(n); i--)
#define vsort(v) sort(v.begin(), v.end());
#define rvsort(v) sort(v.begin(), v.end(),greater<int>());
#define YES cout<<"YES"<< endl
#define NO cout<<"NO"<<endl
#define Yes cout<<"Yes"<<endl
#define No cout<<"No"<<endl  
#define yes cout<<"yes"<<endl
#define no cout<<"no"<<endl
#define ret return
#define lb(v,n) lower_bound(v.begin(),v.end(),n)
#define ub(v,n) upper_bound(v.begin(),v.end(),n)
#define mae(v) max_element(v.begin(),v.end())
#define mie(v) min_element(v.begin(),v.end())
////////////////////////////////////////////////////////////

int main(){
	vector<long> v(10);
	rep(i,0,10)
		cin >> v[i];
	rvsort(v);
	rep(i,0,3){
		P(v[i]);
	}
	ret 0;
}