Go: // 九九を出すだけ
package main
import (
	"fmt"
	"os"
	"bufio"
	"strconv"
	"sort"
)

var sc = bufio.NewScanner(os.Stdin)
var out = bufio.NewWriter(os.Stdout)

func main(){
	sc.Split(bufio.ScanWords)
	defer out.Flush()
	mountains := make([]int, 10)
	for i:=0; i<10; i++{
		mountains[i]=nextInt()
	}
	sort.Ints(mountains)
	for _, v := range mountains[7:]{
		fmt.Fprintln(out, v)
	}
}

func next() string{
	sc.Scan()
	return sc.Text()
}

func nextInt() int{
	a, _ := strconv.Atoi(next())
	return a
}

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

using namespace std;

void inputData(vector<string>& data_set) {
	string buffer;
	while(getline(std::cin,buffer))
		data_set.push_back(buffer);
}

template <class T>
T convertStringToNumber(const string& str) {
	stringstream ss;
	T ret;

	ss << str;
	ss >> ret;

	return ret;
}


void doAllProcess() {
	vector<string> buffer;
	vector<int> data_set;

	inputData(buffer);

	data_set.resize(buffer.size());
	for(int i = 0; i < buffer.size(); ++i)
		data_set[i] = convertStringToNumber<int>(buffer[i]);

	sort(data_set.begin(), data_set.end(), [](int n1, int n2){ return n1>=n2; });

	std::cout << data_set[0] << std::endl;
	std::cout << data_set[1] << std::endl;
	std::cout << data_set[2] << std::endl;
}


int main() {
	doAllProcess();

	return 0;
}

C++: arr = []
for cnt in 0...10
  arr.push(gets.chomp.to_i())
end

arr.sort!.reverse!

for cnt in 0...3
  puts(arr[cnt])
end

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 <iostream>

int main() {
	
	int first, second, third;
	first = second = third = 0;
	
	for(int i=0; i<10; i++) {
		int t;
		std::cin >> t;
		
		if(first < t) {
			third = second;
			second = first;
			first = t;
		} else if(second < t) {
			third = second;
			second = t;
		} else if(third < t) {
			third = t;
		}
	}
	std::cout << first << std::endl;
	std::cout << second << std::endl;
	std::cout << third << std::endl;
	
	return 0;
}

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

int main()
{
    std::set<int, std::greater<int>> s;
    for (int i = 0; i < 10; ++i) {
        int h;
        std::cin >> h;
        s.insert(h);
    }
    std::set<int, std::greater<int>>::iterator it = s.begin();
    for (int i = 0; i < 3; ++i)
        std::cout << *it++ << std::endl;
}

C++: #include <stdio.h> 
using namespace std; 
int main(){ 
int count[10001],
tmp,num=3; 
for(int i=0;i<10001;i++)
count[i]=0;
 for(int i=0;i<10;i++){ 
scanf("%d",&tmp);
 count[tmp]++; } 
for(int i=10000;i>=0&&num>0;i--){
 if(count[i]>0){ 
for(int k=0;k<count[i]&&num>0;k++){
 printf("%d\n",i);
 num--;
 } 
} 
} 
return 0; }

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

using namespace std;

int main() {
	int height[10];

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

	sort(height, height + 10);

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

	return 0;
}

C++: #include<iostream>
using namespace std;
int main(){

    int m[10], temp;
    for(int i = 0; i < 10; i++)
        cin >> m[i];

    for(int i = 0; i < 4; i++){
        for(int j = i + 1; j < 10; j++){
            if(m[i] < m[j]){
                temp = m[i];
                m[i] = m[j];
                m[j] = temp;
            }
        }
    cout << m[i] << endl;
    }
}

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

const int HILLS = 10;

void repMinOfThree(int hill[], int height)
{
    int *hillTmp = 0;
    if (height > hill[0] || height > hill[1] || height > hill[2])
    {
        hillTmp = (hill[0] < hill[1] ? hill : hill + 1);
        hillTmp = (hill[2] < *hillTmp ? hill+2 : hillTmp);
        *hillTmp = height;
    }
}

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


int main()
{
    int hill[3] = {0};
    int i = 0;
    int mountainHeight = 0;

    while (i < HILLS)
    {
        cin >> mountainHeight;
        repMinOfThree (hill, mountainHeight);
        i++;
    }

    qsort (hill, 3, sizeof(hill[0]), cmp);

    cout << hill[2] << endl
        << hill[1] << endl
        << hill[0] << endl;

  //  system("pause");
    return 0;
}

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

int main(){
  int tall[10],no1=0,no2=0,no3=0,i=0;
  for(i=0;i<=9;i++){
    cin>>tall[i];
  }
  for(i=0;i<=9;i++){
    if(tall[i]>=no1){
      no3=no2;
      no2=no1;
      no1=tall[i];
    }
    if(tall[i]>=no2&&tall[i]<no1){
      no3=no2;
      no2=tall[i];
    }
    if(tall[i]>=no3&&tall[i]<no2){
      no3=tall[i];
    }
  }
  cout<<endl<<no1<<endl<<no2<<endl<<no3<<endl;

  return 0;
}

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

using namespace std;

//int compare(int a, int b){
//    if (a>b) return b;
//    else return a;
//}
int main() {
    vector<int> array = {};
    int nb;
    for (int i = 0; i<10; i++) {
        scanf("%d", &nb);
        array.push_back(nb);
    }
    sort(array.begin(),array.end());
    reverse(array.begin(),array.end());
    for (int i = 0; i<3; i++){
        printf("%d\n", array[i]);
    }
}

C++: #include <iostream>
#include <algorithm>
#include <stdio.h>
#define pri(dt) printf("%d\n",dt)
#define RPE0(loopTotal)  for(int i=0;i<=(loopTotal);i++)
#define RPE(loopTotal)  for(int i=1;i<=(loopTotal);i++)

int data[9];

using namespace std;
int main(void){
    
    RPE0(9) scanf("%d",&data[i]);
    sort(data,data+9,greater<int>());
    RPE0(2) pri(data[i]);
data[] = {0};
}

C++: #include <iostream>
#include <string>
using namespace std;
 
int main(){
int rank[3],a[10],i = 0,ii = 0;
rank[0] = 0;
rank[1] = 0;
rank[2] = 0;
while(i <= 9){
	cin >> a[i];
	while(ii <= 2){
		if(rank[ii] < a[i]){
			if(ii != 2){
			rank[ii+1] = rank[ii];
			rank[ii] = a[i];
			}
			break;
		}
		ii++;
	}
i++;
ii = 0;

}
cout<<rank[0]<<endl<<rank[1]<<endl<<rank[2]<<endl;




}

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

int main() {
    std::vector<int> hills;
    for (int i = 0; i < 10; i++) {
        std::cout << i << std::endl;
        std::string input;
        std::cin >> input;
        int height = std::stoi(input);
        hills.push_back(height);
    }

    std::sort(hills.begin(), hills.end(), std::greater<int>());
    for (int i = 0; i < 3; i++) {
        std::cout << hills[i] << std::endl;
    }

    return 0;
}

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

int main(){

	int hill[]={0,0,0,0,0,0,0,0,0,0};

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

	int key;
	int flag;

	//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]<<endl<<hill[8]<<endl<<hill[7]<<endl;

	return 0;

}

C++: class Main {
	public static void main(String[] args) {
		int a = 0,b = 0,c = 0,i,j;
		for(i = 0; i < 10; i++) {
				j = new java.util.Scanner(System.in).nextInt();
				if(0 <= j && j <= 10000) {
					if(j > a) {
						c = b;
						b = a;
						a = j;
					} else if(j > b) {
						c = b;
						b = j;
					} else if(j > c) {
						c = j;
					}
				} else {
					i--;
				}
		}
		System.out.println(a);
		System.out.println(b);
		System.out.println(c);
	}
}