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 <iostream>
#include <functional>
#include <cstdio>
#include <algorithm>
#include <string>
using namespace std;

int main(){
        int i;
        char high[10];
        for(i = 0; i < 10; i++){
                scanf("%d", &high[i]);
        }
        sort(high, high + 10);
        reverse(high, high + 10);
        for(i = 0; i < 3; i++){
                printf("%d", high[i]);
        }
        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]);
			}
		}
    }*/

	sort(&takasa[0], &takasa[10]);

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

	return 0;
}

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

int main(void){
    vector<int> mountain;
    int tmp;
    for(int i=0;i<10;i++){
        cin>>tmp;
        mountain.push_back(tmp);
    }
    sort(mountain.begin(),mountain.end(),greater<int>());
    for(int i=0;i<3;i++){
        cout<<mountain[i]<<endl;
    }
    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(moutain.begin(), moutain.end());

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

  
}

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

using namespace std;

const int MAX = 10;

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

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

#define REP(i,n,m) for(int i=n;i<m;i++)
#define rep(i,n) REP(i,0,n)

int main(void){
	int h[10];

	rep(i,10) cin>>h[i];
	sort(h,h+10);
	rep(i,3) cout<<h[9-i]<<endl;

	return 0;
}

C++: #include<stdio.h>

int main()
{
	int high[10] = {1819,2003,876,2876,1723,1673,3776,2848,1592,922};
	
	for(int i=0;i<9;i++)
	{
		for( int cases; int j=i+1; j<10; j++)
		{
			if(high[i] < high[j])
			{
				cases = high[i];
				high[i] = high[j];
				high[j] = cases;
			}
		}
	}
	
	printf("%d",high[0]);
	printf("%d",high[1]);
	printf("%d",high[2]);
	
	return 0;
}

C++: #include<iostream>
#include<string>
#include<cmath>
#include<vector>
#include<stack>
#include<queue>
#include<algorithm>
#include<complex>
using namespace std ;
typedef vector<int> vi ;
typedef vector<vi> vvi ;
typedef vector<string> vs ;
typedef pair<int, int> pii; 
typedef long long ll ;

#define loop(i,a,b) for(int i = a ; i < b ; i ++)
#define rep(i,a) loop(i,0,a)
#define all(a) (a).begin(),(a).end()

int main(void){
  vector < int > mountain(10); 
  rep(i,10)
    cin>>mountain[i];
  sort(all(mountain),greater<int>());
  rep(i,3)
    cout<<mountain[i]<<endl;
}

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

using namespace std;

int main(void) {
	int hei[10];
	
	for (int i = 0; i < 10; i++) {
		cin >> hei[i];
	}
	sort(hei, hei + 10);

	for (int i = 9; i > 6; i--) {
		cout << hei[i] << endl;
	}
}

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

#define REP(i, n) for(int i = 0; i < n; i++)
#define RREP(i,n) for(int i = (n)-1; i >= 0; i--)
#define FOR(i, l, r) for(int i = l; i < r; i++)
#define RFOR(i, l,r) for(int i= (l)-1; i>= (r) ; i--)

#define int64 int64_t
#define uint64 uint64_t
#define uint unsigned

int main()
{
    array<int, 10> hei;
    REP(i, 10)
        cin >> hei[i];
    sort(hei.begin(), hei.end(), [](int a, int b){ return a > b;});
    REP(i, 3)
        cout << hei[i] << '\n';
}

C++: #include <iostream>
#include <string>
#include <vector>
#include <cstring>
#include <climits>
#include <algorithm>
#include <map>

using namespace std;

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

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

C++: #include<iostream>
#include<vector>
#include<algorithm>
int main(void){
std::vector<int> h;
int tmp;
while(std::cin>>tmp){
h.push_back(tmp);
}
std::sort(h.begin(),h.end());
for(int i=0;i<3;i++){
std::cout<<h[i]<<std::endl;
}
return 0;
}

C++: #include <stdio.h>
#include <algorithm>
using namespace std;


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

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

int main() {
  int N ;
  vector<int>Muntain(N);
  for(int i = 0; i < N; i++){
    cin >> Mountain(i);
  }
  sort(Mountain.begin(), Mountain.endl());

  for(int j = 0; j < 3; j++){
    cout << Mountain(j) << endl;
  }
    }
  }
}

C++: #include <iostream>
#include <cstdio> 
#include <cstdlib>
#include <cctype>
#include <cstring>
#include <sstream>
#include <string>
#include <vector>
#include <map>
#include <set>
#include <list>
#include <stack>
#include <queue>
#include <algorithm>
#include <complex>
using namespace std;

typedef pair<int, int> pii;
typedef long long ll;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef vector<string> vs;

#ifndef typeof
#define typeof __typeof__
#endif // typeof
 
#define all(c) (c).begin(), (c).end()
#define rall(c) (c).rbegin(), (c).rend()
#define tr(c, i) for(typeof((c).begin()) i = (c).begin(); i != (c).end(); i++)
#define rtr(c, i) for(typeof((c).rbegin()) i = (c).rbegin(); i != (c).rend(); i++)
#define repby(i, a, b, step) for(typeof(b) i = (a); i < (b); i += (step))
#define repab(i, a, b) repby(i, (a), (b), 1)
#define rep(i, n) repab(i, 0, (n))
#define pb push_back
#define sz(c) int((c).size())

int main(int argc, char **argv)
{
  vi v;
  int x;

  while (cin >> x) {
    v.pb(x);
  }

  sort(rall(v));

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

  return 0;
}

C++: #include<bits/stdc++.h>
using namespace std;
int main() {
	int a[10];
	for (int b = 0; b < 10; b++)cin >> a[b];
	sort(a, a + 10);
	for (int c = 9; c > 6; c--)printf("%d\n", a[c]);
}

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

using namespace std;

void Top3Mountains(int m1,int m2,int m3,int m4,int m5,int m6,int m7,int m8,int m9, int m10)
{
	deque<int> mountains;
	mountains.push_back(m1);
	mountains.push_back(m2);
	mountains.push_back(m3);
	mountains.push_back(m4);
	mountains.push_back(m5);
	mountains.push_back(m6);
	mountains.push_back(m7);
	mountains.push_back(m8);
	mountains.push_back(m9);
	mountains.push_back(m10);

	sort(mountains.begin(),mountains.end(),greater<int>());
	
	deque<int>::iterator it = mountains.begin();

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

}

int main()
{

	Top3Mountains(1819,2003,876,2840,1723,1673,3776,2848,1592,922);
	return 0;
}