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<iostream>
using namespace std;

int main(){
	int height[10];
	int i,j;

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


	

	do{
		j=0;
		for( i=0;i<10 - 1;i++ ){
			if( height[i] < height[i+1] ){
				int temp = height[i+1];
				height[i+1] = height[i];
				height[i] = temp;
				j++;
			}
		}
	}while(j!=0);
	
	for(i=0;i<3;i++){
		cout<<height[i]<<endl;
	}


}

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

template <typename T> void b_sort(T* a , int n){
	int i , j;
	for(i=n;i>=0;i--){
		for(j=0;j<n-1;j++){
			if(a[j]>a[j+1]){
				a[j]^=a[j+1];
				a[j+1]^=a[j];
				a[j]^=a[j+1];
			}
		}
	}	
} 

int main(){
	unsigned int m[10];
	for(int i=0;i<10;++i){
		cin >> m[i];
	}
	b_sort(m , 10);
	cout << m[9] << "\n" << m[8] << "\n" << m[7] << endl;
	return 0;
}

C++: #include<stdio.h>
int main(void)
{
int mount;
for(int f1=0;f1<10;f1++){
scanf("%d",&mount[f1]);
}
int mem;
for(int f1=0;f1<10;f1++){
for(int f2=0;f2<10;f2++){
if(mount[f1]>mount[f2]){
mem=mount[f1];
mount[f1]=mount[f2];
mount[f2]=mem;
}
}
}
for(int f1=0;f1<3;f1++){
printf("%d\n",mount[f1]);
}
return 0;
}

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

int main() {
    vector<int> mountain;
    for(int i = 0; i < 10; i++){
      cin >> mountain.at(i);
    }
    sort(mountain.begin(), mountain.end());
    reverse(moutain.begin(), moutain.endl());

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

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

int main()
{
  int mt[10];
  int high[3];

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

  for(int i=0;i<3;i++)
    {
      high[i] = 0;
    }

  for(int i=0;i<10;i++)
    {
      if(mt[i]>high[2])
	{
	  high[2] = mt[i];
	}
      if(mt[i]>high[1])
	{
	  high[2] = high[1];
	  high[1] = mt[i];
	}
      if(mt[i]>high[0])
	{
	  high[2] = high[1];
	  high[1] = high[0];
	  high[0] = mt[i];
	}
    }

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

  return 0;
}

C++: #include <iostream>

int main()
{
    using namespace std;
        int max = 0;
        int second = 0;
        int third = 0;
    
    int n[10];
    
    for(int i = 0; i < 10; i++) cin >> n[i];
    sort(n,n+10,greater<int>());
    max = n[0];
    second = n[1];
    third  = n[2];
    cout << max << "\n" << second << "\n" << third << "\n";
    return 0;
}

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

using namespace std;


int main()
{unsigned int b[10];

for (int i=0;i<10;i++)
    {
      cin>>b[i];
      }
for (int j=0;j<10;j++)
    {
     for (int k=0;k<10-j;k++)
         {
          if (b[k]>b[k+1])swap(b[k],b[k+1]);
          }
        }

      cout<<b[10]<<endl;
      cout<<b[9]<<endl;
      cout<<b[8]<<endl;

    return 0;
}

C++: #include<iostream>
using namespace std;
void main()
{
	int h[10];
	int i,j,t;
	for(i=0;i<10;i++)
	cin>>h[i];
	for(j=0;j<3;j++)
	{
		for(i=j+1;i<9;i++)
	  {
		if(h[j]<h[i])
	     {
	     	t=h[j];
	        h[j]=h[i];
	        h[i]=t;
	     }
	  }
       
	}
	for(i=0;i<3;i++)
	cout<<h[i]<<endl;
}

C++: #include <stdio.h>

int main(void){
	int a,b[3],i;
	a=0;
	for(i=0;i<3;i++){
		b[i]=0;
	}
	for(i=0;i<10;i++){
		scanf("%d",&a);
		if( b[0] < a ){
			b[2] = b[1];
			b[1] = b[0];
			b[0] = a;
		}
		else if( b[1] < a ){
			b[2] = b[1];
			b[1] = a;
		}
		else if( b[2] < a ){
			b[2] = a;
		}
	}
	printf("%d\n%d\n%d\n",b[0],b[1],b[2]);
}

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

using namespace std;

int mountain[10];

int main()
{
	for(int i= 0;i<10;i++)
	{
		scanf("%d",&mountain[i]);
	}
	sort(mountain,mountain+10);
	for(int i= 0;i<3;i++)
	{
		printf("%d\n",mountain[i]);
	}
	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<iostream>
#include<vector>
int main(){
	std::vector<int> vec(10);
	for(int i=0;i<10;i++){
		std::cin>>vec[i];
	}
	int a=0;
	for(int i=0;i<10;i++){
		if(a<vec[i])a=vec[i];
	}
	std::cout<<a<<std::endl;
	int b=0;
	for(int i=0;i<10;i++){
		if(vec[i]==a)vec[i]=0;
	}
	for(int i=0;i<10;i++){
		if(b<vec[i])b=vec[i];
	}
	std::cout<<b<<std::endl;
	int c=0;
	for(int i=0;i<10;i++){
		if(vec[i]==b)vec[i]==0;
	}
	for(int i=0;i<10;i++){
		if(c<vec[i])c=vec[i];
	}
	std::cout<<c<<std::endl;
	return 0;
}

C++: #include<iostream>

using namespace std;

int main()
{
        int h[10];
	int i,j;
	int temp=0;
	
	for(i=0; i<10; i++)
	{
		cin>>h[i];
	}
	
	for(i=0; i<9; i++)
	{
	   for(j=i+1; j<10; j++)
	   {
	   	  if(h[j]>h[i])
	   	  {
	   	  	 temp=h[j];
	   	  	 h[j]=h[i];
	   	  	 h[i]=temp;	
	          }
	   } 
        }
    
        for(i=0; i<3; i++)
	{
		cout<<h[i]<<endl;
	}

	return 0;
}

C++: #include<stdio.h>
int main()
{
    int i,j;
    long long a[10];
    unsigned long long n,temp;
    for(i=0;i<10;i++){
        scanf("%lld",&a[i]);
    }
    for(i=0;i<10;i++){
        for(j=0;j<10-i-1;j++){
            if(a[j]<a[j+1]){
                temp=a[j];
                a[j]=a[j+1];
                a[j+1]=temp;
            }

        }
    }

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

     return 0;

}

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

main()
{
  int data[10];
  int mpos;

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

  return (0);
}

C++: #include <iostream>

int main(int argc, char const *argv[]){
	
	int data[10] = {};
	for (int i = 0; i < 10; ++i){
		std::cin >> data[i];
	}

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

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

	return 0;
}

C++: #include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
    vector<int> a(10);
    for (int i = 0; i < a.size(); ++i) cin >> a[i];
    sort(a.rbegin(), a.rend());
    for (int i = 0; i < 3; ++i) cout << a[i] << endl;
    return 0;
}

C++: #include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
 
int main(){
    vector<int> vec_height(10);
     
    for (auto& h : vec_height)
        cin >> h;
 
    sort(vec_height.begin(), vec_height.end(), greater<int>());
     
    cout
        << vec_height[0] << endl
        << vec_height[1] << endl
        << vec_height[2] << endl;
     
    return 0;
}

C++: #include <iostream>

using namespace std;

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