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 <string>
#include <vector>
#include <iostream>
#include <stdio.h>
#define _USE_MATH_DEFINES
#include <cmath>
#include<algorithm>
using namespace std;
int main()
{
    int a[10],i;
    for(i=1;i<11;i++)cin>>a[i];
    sort(a,a+10);
    for(i=10;i>7;i--)cout<<a[i]<<endl;
    

    return 0;
}

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

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

using namespace std;

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

    return 0;
}

C++: #include <iostream>

using namespace std;

int main()
{
    int a, max1, max2, max3;
     max1 = max2 = max3 = INT_MIN;
   while(cin >> a)
   {
       if(a > max3)
       {
           max3 = a;
           if(a > max1)
           {
               max3 = max2;
               max2 = max1;
               max1 = a;

           }
           else if( a > max2)
           {
               max3 = max2;
               max2 = a;
           }
       }

   } cout << max1 << endl << max2 << endl << max3 <<endl;

    return 0;
}

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

int main(int argc, const char * argv[]) {
    // insert code here...
    cin.tie(0);
    ios::sync_with_stdio(false);
    vector<int> vc;
    
    for(int i = 0; i < 10; i++){
        int x;
        cin >> x;
        vc.push_back(x);
    }
    
    sort(vc.begin(), vc.end(), greater<int>());
    
    for(int i = 0; i < 3; i++){
        cout << vc[i] << endl;
    }

    return 0;
}

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

int main(){
	
	int height[10] = {};

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

	int f = 0, s = 0, t = 0;

	for (int i = 0; i < 9; i++){
		if (height[i] > t){
			t = height[i];
		}
		if (t > s){
			swap(s, t);
		}
		if (s > f){
		swap(f,s);
		}
	}
    
		return 0;
}

C++: #include<iostream>
using namespace std;
int main(void)
{
  int a[10]={};
  int i=0;
  int j=0;

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

  sort(a,a+10);

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

}

C++: #include<stdio.h>
int main(){
int m[11],i,j,work;
for(i=0;i<10;i++){
 scanf("%d",&m[i]);
}
for(i=0;i<10;i++){
 for(j=0;j<10;j++){
  if(m[i]>m[j]){
   work=m[i]; m[i]=m[j]; m[j]=work;
   }
  }
 }
for(i=0;i<3;i++){
 printf("%d\n",m[i]);
}
return 0; }

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

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

  sort(h, h+10);

  printf("%d\n%d\n%d\n",a[9],a[8],a[7]);
  return 0;
}

C++: #include <iostream>
#include <cstdio>
using namespace std;
int main(){
	int h[10];
	int a;

	for(int k=0;k<10;k++){
		cin>>h[k];
	}
	for(int i=0;i<10;i++){
		for(int j=i+1;j<10;j++){
			if(h[i]<h[j]){
				a = h[i];
				h[i] = h[j];
				h[j] = a;
			}
		}
	}
	cout<<h[0]<<endl;
	cout<<h[1]<<endl;
	cout<<h[2]<<endl;

	return 0;
}

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

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

C++: #include <stdio.h>

int fir(const int *);
int sec(const int *);
int thi(const int *);

int main(void)
{
	int i, h[10];
	for (i = 0; i<10; i++){
		scanf("%d", &h[i]);
	}
	printf("%d\n", fir(h));
	printf("%d\n", sec(h));
	printf("%d\n", thi(h));
	return 0;
}

int fir(const int *h){
	int i, f = 0;
	for (i = 0; i<10; i++){
		f = f < h[i] ? h[i] : f;
	}
	return f;
}

int sec(const int *h){
	int i, f=0, s=0;
	for (i = 0; i<10; i++){
		f = f < h[i] ? h[i] : f;
	}
	for (i = 0; i<10; i++){
		s= f >= h[i] && s<h[i] ? h[i] :s;
	}
	return s;
}

int thi(const int *h){
	int i, f=0, s=0, t=0;
	for (i = 0; i<10; i++){
		f = f < h[i] ? h[i] : f;
	}
	for (i = 0; i<10; i++){
		s = f >= h[i] && s<h[i] ? h[i] : s;
	}
	for (i = 0; i<10; i++){
		t = f >= h[i] && t<h[i] ? h[i] : t;
	}
	return t;
}

C++: #include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <cctype>
#include<algorithm>
#define pf printf
#define sf scanf
#define wh while
#define db double
#define LL long long
#define _USE_MATH_DEFINES
#define re(i,a,b) for(int i=a;i<b;i++)
#define rev(i,a,b) for(int i=a;i>=b;i--)

using namespace std;
bool my(int i,int j){return (i>j);}
int main()
{
    int a[10];
    re(i,0,10)sf("%d",&a[i]);
    sort(a,a+10,my);
    re(i,0,3)pf("%d\n",a[i]);
    return 0;
}

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

int main()
{
  int a[11]={0};
  int i,j,maxa,maxb,maxc;
  

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

  for(i=0; i<10; i++){
    for(j=0; j<10; j++){
      if(a[i]<a[j]){
	swap(a[i],a[j]);
      }
    }
  }

  maxa=a[0];
  maxb=a[1];
  maxb=a[2];

  printf("%d\n%d\n%d\n",maxa,maxb,maxc);
  
  return 0;
}

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

int main(){
	int a,b,c,x;

	for(int i=0;i<=9;i++){
		cin >> x;

		if(x>a){
			c=b;
			b=a;
			a=x;
		}else if(x>b){
			c=b;
			b=x;
		}else if(x>c){
			c=x;
		}
	}

	cout << a << endl;
	cout << b << endl;
	cout << c << endl;

	return 0;
}

C++: #include<stdio.h>
nit mian(void)
{
	int i,j,n[11],w;
	for(i=0;i<10;i++){
		scanf("%d",n[i]);
	}
	for(i=0;i<10;i++){
		for(j=0;j<=10;j++){
			if(n[j]<=n[i]){
				w=n[i];
				n[i]=n[j];
				n[j]=w;
			}
		}
	}
	for(i=0;i<3;i++){
		printf("%d\n",y[i]);
	}
	return 0;
}

C++: #include <cstdio>
#include <cstdlib>


long long a[10];

int cmp (const void *p1, const void *p2) {
  if (* (long long *)p1 > * (long long *)p2) return 1;
  if (* (long long *)p1 == * (long long *) p2) return 0;
  return -1;
}

int main () {
  int i;
  for (i = 0; i < 10; i++) {
    scanf("%lld", a + i);
  }
  qsort(a, 10, sizeof(long long),  cmp);
  for (i = 0; i < 3; i++) {
    printf("%lld\n", a[9-i]);
  }
  return 0;
}

C++: #include <iostream>

int main(int argc, char ** argv) {
  int input, top[3] = {0};
  for (int i=0; i<10; i++) {
    std::cin >> input;
    if (input >= top[0]) {
      top[2] = top[1];
      top[1] = top[0];
      top[0] = input;
    }
  }

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

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

int main(){
  int a;
  vector<int> v;

  for (unsigned int i = 0; i < 10; i++) {
    cin >> a;
    v.push_back(a);
    if (cin.eof()) { break; }
  }

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

  sort(v.begin(), v.end());
  return 0;
}