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 <algorithm>
#include <vector>
using namespace std;

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

C++: #include <stdio.h>
#define N 10

int main(void){
 int i=1,data[3],t;
 for(i=0;i<3;i++) data[i] = 0;
 while(1){
  scanf("%d",&t);
  if(t>data[0]){
   data[2] = data[1];
   data[1] = data[0];
   data[0] = t;
  }
  else if(t>data[1]){
   data[2] = data[1];
   data[1] = t;
  }
  else if(t>data[2]) data[2] = t;
  i++;
  if(i>N) break;
 }
 return 0;
}

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

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

using namespace std;

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

C++: #include <iostream>
using namespace std;
int main()
{
    int i=0;
    int num[10];
     for(;i<10;i++)
        cin>>num[i];
     int temp=0,temp1=0,j=0,k=0;
      for(;j<3;j++) {
            for(i=0;i<10;i++)
            {
                temp1=temp;
      temp=temp<num[i]?num[i]:temp;
       if(temp>temp1)
            k=i;
       }
       cout<<num[k]<<endl;
       temp=0;
        num[k]=0;
         }
       return 0;
       }

C++: #include<iostream>
using namespace std;
int main(void){
    int a[100],list[4] ={0,0,0,0},i,j;
    for(i = 1; i <= 10; i++){
        cin >> a[i];
        if(list[1] < a[i]){
            list[3] = list[2];
            list[2] = list[1];
            list[1] = a[i];
        }
        else if(list[2] < a[i]){
            list[3] = list[2];
            list[2] = a[i];
        }
        else if(list[3] < a[i]){
            list[3] = a[i];
        }
    }
    for(j = 1; j <= 3; j++){
        cout << list[j] << endl;
    }
}