Go: package main

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

func getsAsIntArray() (line []int) {
	scanner := bufio.NewScanner(os.Stdin)

	for scanner.Scan() {
		str := scanner.Text()
		if str == "" {
			break
		}
		data, err := strconv.Atoi(str)
		if err != nil {
			break
		}
		line = append(line, data)
	}

	return
}

func main() {

	lines := getsAsIntArray()
	sort.Sort(sort.Reverse(sort.IntSlice(lines)))
	for i, v := range lines {
		if i < 3 {
			fmt.Println(v)
		}
	}
}

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

int main(){

	int hill[15];

	for(int j=0;j<=8;j++){
		cin>>hill[j];
	}

	int key;
	int flag;
	
	sort(hill,hill+10);

	//sort
	/*for(key=9;key>=0;key--){

		for(int i=0;i<=key;i++){
			if(hill[i]>hill[i+1]){
				flag=hill[i];hill[i]=hill[i+1];hill[i+1]=flag;
			}
		}

	}*/

	cout<<hill[9]<<"\n"<<hill[8]<<"\n"<<hill[7]<<endl;

	return 0;

}

C++: /* All men have limits. They learn what they are and learn
   not to exceed them, I ignore mine. -Batman           */
#include <bits/stdc++.h>
//#include <iostream>
//#include <vector>
//#include <Windows.h>
using namespace std;

int main(){
int n;
vector<int> f;
while(cin>>n){
	f.push_back(n);
	
}
sort(f.begin(),f.end(), greater<int>());
cout<<f[0]<<endl<<f[1]<<endl<<f[2]<<endl;
	
	return 0;
}

C++: #include<iostream>
using namespace std;
main()
{ int x[10],t[3];
  int  s=0;
  for(int i=0;i<0;i++){
    cin>>x[i];
  }

  for(int k=0;k<3;k++){
    for(int j=0;j<10;j++){
      if(t[k]<x[j]){
        s=t[k];
        t[k]=x[j];
        x[j]=s;
       }
     }
  }
  for(int e=0;e<3;e++){
    cout<<t[e]<<endl;
  }
return 0;
}

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

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

using namespace std;

#define MAX  10000

int nData[MAX];
int nData1[MAX];

int main()
{
	int i,j,x;

	x=0;
    for(i=0;i<10;i++)
	{
	    cin >> nData[i];
	}
	sort(nData,nData+10);
	nData1[x]=nData[9];
	for(i=10-2;i>=0;i--)
	{
		if(nData1[x]!=nData[i])
		{
			x++;
			nData1[x]=nData[i];
		}
		if(x>=2)
			break;
	}
	for(j=0;j<3;j++)
		cout << nData1[j] << endl;
	return 0;
}

C++: #include<iostream>

using namespace std;
 
int main(){
  int x[10],tmp,i,j;

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

  for(i=0; i<10; ++i){
    for(j=0; j<10; ++j){
      if(x[i] < x[j]){
	tmp = x[i];
	x[i] = x[j];
	x[j] = tmp;
      }
    }
  }

  for(i=0; i<3; ++i)
    cout << x[i] << "\n";

    return 0;
}

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


int main(){
	int i,h[10];
	for(i = 0;i < 10;i++) scanf("%d",&h[i]);
	sort(h,h + 10);
	for(i = 9;i > 6;i--) printf("%d\n",h[i]);
	return 0;
}

C++: 
#include <iostream>

using namespace std;

 int  main(){
     
int mnt[10];
int i;
int max;

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

sort(mnt,mnt+10);
reverse(mnt,mnt+10);
for(i=0;i<3;i++) cout<<mnt[i]<<endl;

  
 
   return 0;
}

C++: 
//include
//------------------------------------------
#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <queue>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <string>
#include <cstring>
#include <ctime>


using namespace std;

//conversion
//------------------------------------------
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(); }

//math
//-------------------------------------------
template<class T> inline T sqr(T x) { return x*x; }

//typedef
//------------------------------------------
typedef vector<int> VI;
typedef vector<VI> VVI;
typedef vector<string> VS;
typedef pair<int, int> PII;
typedef long long LL;

//container util
//------------------------------------------
#define ALL(a)  (a).begin(),(a).end()
#define RALL(a) (a).rbegin(), (a).rend()
#define PB push_back
#define MP make_pair
#define SZ(a) int((a).size())
#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 EXISTch(s,c) ((((s).find_first_of(c)) != std::string::npos)? 1 : 0)//cがあれば1 if(1)
#define SORT(c) sort((c).begin(),(c).end())

//repetition
//------------------------------------------
#define FOR(i,a,b) for(int i=(a);i<(b);++i)
#define rep(i,n)  FOR(i,0,n)
#define loop(n) FOR(i,0,n)
#define rrep(i,a,b) for(int i=(a);i>=(b);--i)
//constant
//--------------------------------------------
const double EPS = 1e-10;
const double PI = acos(-1.0);
const int INF = (int)1000000007;
const LL MOD = (LL)1000000007;//10^9+7
const LL INF2 = (LL)100000000000000000;//10^18

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

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

	sort(h.begin(), h.end(), greater<int>());

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

	return 0;
}

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

int main(){
    int tinggi[10000];
    int i, j, temp;

    for(i=0; i<10; i++){
        cin>>tinggi[i];
    }
    for(j=0; j<10; j++){
            for(i=1; i<10; i++){
                if(tinggi[i] > tinggi[i-1]){
                    temp = tinggi[i];
                    tinggi[i] = tinggi[i-1];
                    tinggi[i-1] = temp;
                }
        }
    }
    for(i=0; i<3; i++){
        cout<<tinggi[i]<<endl;
    }

    return 0;
}

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

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

int main(){

	int mt[10];
	int i;
	
	for(i=0;i<10;i++){
		std::cin >> mt[i];
	}
	
	std::sort(mt,mt+10,std::greater<int>());
	
	for(i=0;i<3;i++){
		std::cout << mt[i] << std::endl;
	}
}

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

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

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

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

int main(){
	int suchi,high=0,middle=0,low=0,i,flag=0,a,b,c;
	
	for(i=0;i<10;i++){
		cin>>suchi;
			
		if(flag==0){
			high = suchi;
			flag++;
			}
			
		else{
			if(suchi>low&&suchi<middle)
				low = suchi;
			
			else if(suchi>middle&&suchi<high){
				low = middle;
				middle = suchi;
			}
			
			else if(suchi>high){
				low = middle;
				middle = high;
				high = suchi;
				}
				
			}
	}
	
	cout<<high<<endl;
	cout<<middle<<endl;
	cout<<low<<endl;
	
	return 0;
}

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

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

	for( int i=0; i<10; i++ ){
		for( int j=9; j>=i; j-- ){
			if( data[j-1] < data[j] ){
				int tmp = data[j-1];
				data[j-1] = data[j];
				data[j] = tmp;
			}
		}
	}

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

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

using namespace std;

int main (void) {
	int mt[10], t = 10;
	
	for (int i = 0; i < t; i ++) {
		cin >> mt[i];
	}
	
	for (int i = 0; i < t; i ++) {
		for (int j = 0; j < i; j ++) {
			if (mt[i] > mt[j]) {
				swap(mt[i], mt[j]);
			}
		}
	}
	
	for (int i = 0; i < 3; i ++) {
		cout << mt[i] << endl;
	}
	
	return 0;
}