Go: package main

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

func getsAsIntArray() (line []int) {
	scanner := bufio.NewScanner(os.Stdin)

	for scanner.Scan() {
		str := scanner.Text()
		if str == "" {
			break
		}
		data, err := strconv.Atoi(str)
		if err != nil {
			break
		}
		line = append(line, data)
	}

	return
}

func main() {

	lines := getsAsIntArray()
	sort.Sort(sort.Reverse(sort.IntSlice(lines)))
	for i, v := range lines {
		if i < 3 {
			fmt.Println(v)
		}
	}
}

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

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

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

using namespace std;

int main() {
	cin.tie(0);
	ios::sync_with_stdio(false);
	int height[10];
	for (int i = 0; i < 10; i++)
		cin >> height[i];
	sort(height, height + 10);
	for (int i = 9; i >= 7; i--)
		cout << height[i] << endl;

	return 0;
}

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

int main() {
	std::list<int> mountain;
	int height;

	for(int i=1; i<=10; ++i){
		std::cin >> height;
		mountain.push_back(height);
	}

	for(int i=1; i<=3; ++i){
		std::list<int>::iterator max_it = std::max_element(mountain.begin(), mountain.end());
		std::cout << *max_it << std::endl;
		mountain.erase(max_it);
	}

	return 0;
}

C++: #include <bits/stdc++.h>
using namespace std;
bool func(int a,int b)
{
    return a>b;
}
int main()
{
    int i,j,ara[100000];
    for (i=0;i<10;i++)
        cin>>ara[i];
    sort(ara,ara+10,func);
    for (i=0;i<3;i++)
        cout<<ara[i]<<endl;

}

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

int main() {

    std::priority_queue<int, std::vector<int>, std::greater<int> > pq;
    std::stack<int> st;
    int tmp;
    for (int i = 0; i < 10; i++) {
        std::scanf("%d", &tmp);
        if (pq.size() == 3) {
            if (pq.top() < tmp) {
                pq.pop();
                pq.push(tmp);
            }
        }
        else {
            pq.push(tmp);
        }

    }

    while(!pq.empty()) {
        st.push(pq.top());
        pq.pop();
    }
    for (int i = 0; i < 3; i++) {
        std::cout << st.top() << std::endl;
        st.pop();
    }


    return 0;


}

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

using namespace std;

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

C++: #include<iostream>
#include<stdio.h>
#include<stdlib.h>

using namespace std;
int main(){
	int meter[10];
	int a,i,j,temp;
	char str[1024];
	for(i = 0;i < 10;i++){
		scanf("%d",&a);
		meter[i] = a;
	}


	for (i = 0; i < 10; i++) {
        for (j = 9; j > i; j--) {
            if (meter[j - 1] < meter[j]) {  
                temp = meter[j];        
                meter[j] = meter[j - 1];
                meter[j - 1]= temp;
            }
          }
     }     
	
	for(i = 0;i < 3;i++){
	printf("%d\n",meter[i]);
	}

    return 0;
}

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

int main(void){
  vector<int>hight;
  int a[10];
 for(int i=0;i<10;i++)
   cin>>a[i];

  for(int i=0;i<10;i++)
    hight.push_back(a[i]);

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

  vector<int>::iterator it = hight.end()-1;

  for(int i=0;i<3;i++){
    cout<<*it<<endl;
    it--;
  }

  return 0;
}

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

int main(){
	int a[10];
	int b[3]={0,0,0};
	for(int i=0;i<10;i++){
		cin>>a[i];}
	for(int i=0;i<10;i++){
			if(a[i]>b[0]){
				b[2]=b[1];
				b[1]=b[0];
				b[0]=a[i];}
			else if(a[i]>b[1]){
				b[2]=b[1];
				b[1]=a[i];}
			else if(a[i]>b[2]){
				b[2]=a[i];}}
	for(int i=0;i<3;i++){
		cout<<b[i]<<endl;}
}

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

int main()
{

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

	for (int i = 0; i < 10; i++) {
		for (int j = i + 1; j < 10; j++) {
			if (hill[i] < hill[j]) {
				int tmp = hill[i];
				hill[i] = hill[j];
				hill[j] = tmp;
				//cout << "ALICE!" << endl;
			}
		}
	}

	//cout << endl << endl;

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

	//cin >> hill[1];
    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, greater<int>);

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

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

using namespace std;
 
int main(){
  int x[10],tmp,i,j;

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

  sort(x,x+10,greater<int>());

  /*
  for(i=0; i<10; ++i){
    for(j=i+1; j<10; ++j){
      if(x[i] < x[j]){
	tmp = x[i];
	x[i] = x[j];
	x[j] = tmp;
      }
    }
  */
  }

  for(i=0; i<3; ++i)
    cout << x[i] << "\n";

    return 0;
}

C++: #include <stdio.h>
#include <functional>
#include <algorithm>
int main(){ int mt[10], i;
std::sort(mt, mt + 10
for (i = 9; i > 6; i--)
  printf("%d\n", mt[i]);
return 0; }

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

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

vector<int> v;

int main(){
	int n;
	for(int i = 0; i < 10; i++){
		cin >> n;
		v.push_back(n);
	}
	
	sort(v.begin(), v.end());
	
	for(int i = 0; i < 10; i++)cout << v[i] << endl;
	
	return 0;
}

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

int main(){
	int height = 0;
	int rank[3] = {0,0,0};
	
	while(cin >> height){	
		if (height > rank[0]) {
			rank[2] = rank[1];
			rank[1] = rank[0];
			rank[0] = height;
		}else if (height > rank[1]) {
			rank[2] = rank[1];
			rank[1] = height;
		}else if(height > rank[2]){
			rank[2] = height;
		}
	}
	
	cout << rank[0] << endl;
	cout << rank[1] << endl;
	cout << rank[2] << endl;

	return 0;
}

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

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

	//????????????
	for (int i = 0; i < 9; i++) {
		for (int j = i+1; j < 10; j++) {
			if (takasa[i] <takasa[j]) {
				swap (takasa[i],takasa[j]);
			}
		}
	}
	
	for (int i = 0; i < 3; i++) {
		cout << takasa[i] << endl;
	}
	return 0;
}

C++: #include<stdio.h>
  
int main(void){
  int a[10],i,j,d;
  for(i=0;i<10;i++){
    scanf("%d",&a[i]);
  }
  for(i=0;i<10;i++){
    for(j=i;j<10;j++){
      if(a[i] < a[j]){
	d = a[i];
      a[i] = a[j];
      a[j] = d;
      }
    }
  }
  for(i=0;i<3;i++)
    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++)
/*???????±±?????????3?????????*/
int main()
{
    vector<int> vc;
    int N;
    while( cin >> N )
    {
        vc.push_back( N );
    }
    sort( vc.begin(), vc.end(), greater<int>() );
    REP( i, 3 )
    {
        cout << vc[ i ] << endl;
    }
    return 0;
}