Go: package main

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

func main() {
	mountHeightList := make([]int64, 10)
	scanner := bufio.NewScanner(os.Stdin)
	for i := 0; i < 10; i++ {
		scanner.Scan()
		mountHeightList[i], _ = strconv.ParseInt(scanner.Text(), 10, 64)
	}

	sort.Slice(mountHeightList, func(i, j int) bool { return mountHeightList[i] > mountHeightList[j] })

	for i := 0; i < 3; i++ {
		fmt.Printf("%d\n", mountHeightList[i])
	}
}

C++: #include<iostream>
#include<string>
#include<algorithm>
#include<functional>
#include<vector>
#include<math.h>
#define L(_i,_N) for(int _i=0;_i<_N;_i++)
typedef long long int lli;
using namespace std;

int main() {
	vector<int> Mountain(10);
	L(i, 10) cin >> Mountain[i];
	sort(Mountain.begin(),Mountain.end(),greater<int>());
	L(i, 3) cout << Mountain[i] << endl;
	return 0;
}

C++: #include<cstdio>
#include<algorithm>
#include<iostream>
#include<cstring>
#include<string>
#include<algorithm>
using namespace std;
int c[11];
int main(){
  for(int i=0;i<10;i++){
    cin>>c[i];
  }
  sort(c,c+10,greater<int>());
  cout<<c[0]<<"\n"<<c[1]<<"\n"<<c[2]<<"\n";
}

C++: #include <iostream>

int main(int argc, char const* argv[])
{
	int top1 = 0, top2 = 0, top3 = 0;
	int input;

	for (size_t i = 0; i < 10; i++)
	{
		std::cin >> input;
		if(input > top1)
		{
			top3 = top2;
			top2 = top1;
			top1 = input;
		}
		else if (input > top2)
		{
			top3 = top2;
			top2 = input;
		}
		else if(input > top3)
			top3 = input;
	}

	std::cout << top1 << std::endl;
	std::cout << top2 << std::endl;
	std::cout << top3 << std::endl;
	return 0;
}

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

using namespace std;

int main() {
    string str;
    priority_queue<int> q;

    for (int i = 0; i < 10 ; ++i) {
        getline(cin, str);
        int height = stoi(str.c_str());
        q.push(height);
    }

    for (int j = 0; j < 3; ++j) {
        cout << to_string(q.top()) << endl;
        q.pop();
    }

    return 0;
}

C++: #include <stdio.h>
int main(void)
{
  int m[10],i=0,n,r[10],t;
  while(scanf("%d",&m[i]) != EOF)
    {
      i++;
    }
  for (n=0;n!=10;n++)
    {
      t=10;
      for (i=0;i!=10;i++)
        {
          if(m[n]>m[i])
            {
              t--;
            }
        }
      r[n]=t;
    }
  for (n=1;n!=4;n++)
  {
    for (i=0;i!=10;i++)
      {
        if(r[i]==n)
          {
            printf("%d\n",m[i]);
          }
      }
  }
  return 0;
}

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

int main(){
	int height[10];
	int i , j;
	for(i=0 ; i<10 ; i++){
		cin >> height[i] ;
	}
	for(i=9 ; i>0 ; i--){
		for(j=0 ; j<i ; j++){
			if (height[j]>=height[j+1]){
				height[j]^=height[j+1];
				height[j+1]^=height[j];
				height[j]^=height[j+1];
			}
		}
	}
	for(i=9 ; i>6 ; i--){
		cout << height[i] << endl;
	}
	return 0;
}

C++: #include <iostream>
#include<vector>
#include<stdlib.h>
#include<algorithm>
#include<string>
using namespace std;



int main(void){

	int height[10];
	int max1=0, max2=0, max3=0;

	for (int i = 0; i < 10; i++){

		cin >> height[i];	
	}



	for (int i = 0; i < 9; i++){
	
		for (int j = i + 1; j < 10; j++){
		
			if (height[i] < height[j]){
				swap(height[i], height[j]);
			}
		
		}
	}

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

	
	return 0;
}

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

int main()
{
    std::array<int, 10> height;
    for (auto i = 0; i < 10; i++) {
        std::cin >> height.at(i);
    }

    std::sort(height.begin(), height.end());

    for (auto i = 9; i > 6; i--) {
        std::cout << height.at(i) << std::endl;
    }

    return 0;
}

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

using namespace std;

int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  
  vector<int> nums(10);
  for (int i = 0; i < 10; i++) {
    cin >> nums[i];
  }

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

C++: #include <stdio.h>
#include <math.h>

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

	ans[0] = 0; ans[1] = 0; ans[2] = 0;
	for(int j=0; j<10; j++) {
		if(m[ans[0]] < m[j]) {
			ans[0] = j;
		}
	}
	if(ans[1] == ans[0]) {
		if(ans[1] == 0) ans[1] = 1;
		else ans[1] = ans[0]-1;
	}
	for(int j=0; j<10; j++) {
		if(m[ans[1]] < m[j] && ans[0] != j) {
			ans[1] = j;
		}
	}
	if(ans[2] == ans[0]) {
		if(ans[2] == 0) ans[2] = 2;
		else ans[2] = ans[0]-2;
	}
	for(int j=0; j<10; j++) {
		if(m[ans[2]] < m[j] && ans[0] != j && ans[1] != j) {
			ans[2] = j;
		}
	}
	printf("%d\n%d\n%d\n", m[ans[0]], m[ans[1]], m[ans[2]]);
	return 0;
}

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

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

using namespace std;

int main(){
	int a[10];
	for (int i = 0; i < 10; i++){
		cin >> a[i];
	}
	sort(a, a+10, less<int>());
	cout << a[7] << endl; 
	cout << a[8] << endl;
	cout << a[9] << endl;
}

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

int main(){
	priority_queue<int> a;
	for (int i = 0; i < 10; ++i) {
		int high;
		cin >> high;
		a.push(high);
	}
	for (int i = 0; i < 3; ++i) {
		cout << a.top() << endl;
		a.pop();
	}
	return 0;
}

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

using namespace std;

const int numOfMountain = 10;

int main(int argc, char* argv[]){
    int mountainBuf;
    vector<int> mountains;

    for(int i = 0; i <= numOfMountain; i++) {
        mountainBuf = atoi(argv[i]);
        mountains.push_back(mountainBuf);
    }

    sort(mountains.begin(), mountains.end());

    auto out = mountains.end();
    for(int i = 0; i < 3; i++) {
        cout << *--out << endl;
    }

    return 0;
}

C++: #include<bits/stdc++.h>
using namespace std;
int main()
{
    int arra[10],i;
    for(i=0;i<10;i++)
        cin>>arra[i];
    sort(arra,arra+10);
    for(i=9;i>6;i--)
        cout<<arra[i]<<endl;
    return 0;
}

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

C++: #include <stdio.h>
#include <algorithm>
using namespace std;
#define rep(i, n) for (int i = 0; i < (int)(n); i++)

int a[10];

int main() {
    rep (i, 10) scanf("%d", a+i);
    sort(a, a+10);
    reverse(a, a+10);
    rep (i, 3) printf("%d\n", a[i]);
    return 0;
}

C++: #include <bits/stdc++.h>
using namespace std;
#define rep(i,n) for (int i=0;i<n;i++)

int main() {
  vector<int> h(10);
  rep(i,10) cin>>h[i];
  sort(h.begin(),h.end());
  cout<<h[9]<<endl<<h[8]<<endl<<h[7]<<endl;
  return 0;
}

C++: #include<iostream>
#include<algorithm>
#define MAX 10
using namespace std;

int main(int argc, char *argv[]){
	int unco[MAX];
	for(int i=0;i<MAX;i++)cin>>unco[i];
	sort(unco, unco+MAX);
	cout<<unco[9]<<endl;
	cout<<unco[8]<<endl;
	cout<<unco[7]<<endl;
	return 0;
}

C++: #include<bits/stdc++.h>
using namespace std;
int main()
{
    int T,t,a[20];

    for(t=0;t<10;t++)
    {
       scanf("%d",&a[t]);
    }
        sort(a,a+10);

      cout<<a[10-1]<<endl;
      cout<<a[10-2]<<endl;
      cout<<a[10-3]<<endl;

      return 0;
}