Go: package main

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

var scanner = bufio.NewScanner(os.Stdin)

func nextString() string {
	scanner.Scan()
	return scanner.Text()
}

func nextInt() int {
	n, err := strconv.Atoi(nextString())
	if err != nil {
		fmt.Printf("strconv.Atoi failed: %v\n", err)
	}
	return n
}

func main() {
	scanner.Split(bufio.ScanWords)

	n := 5
	array := make([]int, n)
	for i := 0; i < n; i++ {
		array[i] = nextInt()
	}
	sort.Slice(array, func(i, j int) bool { return array[i] > array[j] })
	arrayStr := fmt.Sprint(array)
	l := len(arrayStr)
	fmt.Println(arrayStr[1:(l - 1)])
}

C++: #define _CRT_SECURE_NO_WARNINGS
#define _USE_MATH_DEFINES

#include "bits/stdc++.h"
#define REP(i,a,b) for(int i=a;i<b;++i)
#define rep(i,n) REP(i,0,n)
typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;
#define ALL(a) begin(a),end(a)
#define ifnot(a) if(not (a))
#define dump(x)  cerr << #x << " = " << (x) << endl
using namespace std;

// #define int ll
#ifdef _MSC_VER
const bool test = true;
#else 
const bool test = false;
#endif

int dx[] = { 0,1,0,-1 };
int dy[] = { 1,0,-1,0 };
#define INF (1 << 28)
ull mod = (int)1e9 + 7;
//.....................
const int MAX = (int)2e5 + 5;

int main() {
	int a;
	vector<int> v;
	while (cin >> a) {
		v.push_back(a);
	}
	sort(ALL(v),greater<int>());
	cout << v.front();
	REP(i, 1, v.size()) {
		cout << " " << v[i];
	}
	return 0;
}

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

using namespace std;

int main(void)
{
	int a,b,c,d,e;
	while(cin>>a>>b>>c>>d>>e)
	{
		deque<int> nums;
		nums.push_back(a);
		nums.push_back(b);
		nums.push_back(c);
		nums.push_back(d);
		nums.push_back(e);
		sort( nums.begin(), nums.end(), greater<int>() );
		deque<int>::iterator it = nums.begin();
		while( it != nums.end() )
		{
			cout<<*it<<" ";
			++it;
		}
		nums.clear();
		cout<<endl;
	}
	return 0;
}

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

int main(){

  int i;
  int a[5]={0};

  for(i=0;i<5;i++){
    scanf("%d",&a[i]);
  }

  sort(a,a+5);

  printf("%d %d %d %d %d\n",a[0],a[1],a[2],a[3],a[4]);

  return 0;
}

C++: #include<iostream>
using namespace std;
int main()
{
    int ara[5],i,j,temp;
    for(i=0; i<5; i++)
    {
        cin>>ara[i];
    }
    for(i=0; i<4; i++)
    {
        for(j=i+1; j<5; j++)
        {
            if(ara[i]<ara[j])
            {
                temp=ara[j];
                ara[j]=ara[i];
                ara[i]=temp;
            }
        }
    }
    for(i=0; i<5; i++)
    {
        cout<<ara[i];
        if(i<4)
        {
            cout<<" ";
        }
    }
    cout<<endl;
}

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

int main(){
	int data[5];
	for(int i=0;i<5;i++)cin>>data[i];
	
	sort(data,data+4);
	for(int i=0;i<4;i++)cout<<data[i]<<" ";
	cout<<data[4]<<endl;
}

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

int main(){
  int str[5], i;

  cin >> str[0] >> str[1] >> str[2] >> str[3] >> str[4];

  sort(str, str + 5);

  for(i = 4;i >= 0;i--){
    cout << str[i] << flush;
    if(i != 0){
      cout << " " << flush;
    }
  }
  cout << endl;

  return 0;
}

C++: #include<iostream>
#include<string>
#include<algorithm>
#include<vector>
#include<queue>
#include<map>
#include<math.h>
#include<iomanip>
#include<set>
#include<numeric>
#include<cstring>
#include<cstdio>
#include<functional>
#include<bitset>
#include<limits.h>
#include<cassert>
#include<iterator>
#include<complex>
#include<stack>
#include<sstream>
#include<iterator>
#include<list>
using namespace std;
typedef  long long int lint;
//typedef pair<int, int> IP;
typedef pair<lint, lint> LLP;
typedef pair<char, char>CP;
#define rep(i, n) for (int i = 0; i < n; i++)
#define repr(i, n) for (int i = n; i >= 0; i--)
#define sort(v) sort((v).begin(), (v).end())
#define reverse(v) reverse((v).begin(), (v).end())
#define upper(v,hoge) upper_bound(v.begin(),v.end(),hoge)
#define lower(v,hoge) lower_bound(v.begin(),v.end(),hoge)
#define llower(v,hoge) *lower_bound(v.begin(), v.end(), hoge)
#define lupper(v,hoge) *upper_bound(v.begin(), v.end(), hoge)
#define mp make_pair
#define P pair<int,int>

int main() {
	vector<int>A(5);
	rep(i, 5) {
		cin >> A[i];
	}
	sort(A);
	reverse(A);
	rep(i, 4) {
		cout << A[i] << ' ';
	}
	cout << A[4] << endl;
}

C++: #include<iostream>
using namespace std;
int main(){
	int a[5];
	cin>>a[0]>>a[1]>>a[2]>>a[3]>>a[4];
	for(int i=0; i<5; i++){
		for(int l=0; l<4; l++){
			if(a[l]<a[l+1]){
				int c = a[l];
				a[l] = a[l+1];
				a[l+1] = a[l];
			}
		}
	}
	cout <<a[0]<<" "<<a[1]<<" "<<a[2]<<" "<<a[3]<<" "<<a[4]<<endl;
	return 0;
}

C++: #include <iostream>
#include <cstdio>
#include <vector>
#include <list>
#include <algorithm>
#include <cmath>
#include <stack>
#include <set>
using namespace std;

#define REP(i,n) for(int (i)=0; (i)<(n); (i)++)
#define FOR(i,a,b) for(int (i)=(a); (i)<(b); (i)++)
#define PUSH(n,v) for(int i=0; i<(n); i++) {int j; cin >> j; v.push_back(j);}
#define ALL(v) v.begin(), v.end()

int main() {
    vector<int> v;
    PUSH(5,v);
    sort(ALL(v), greater<int>());
    REP(i,4) cout << v[i] << " ";
    cout << v[4] << endl;
    return 0;
}

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

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

int main() {
	int a[5];
	cin >> a[0] >> a[1] >> a[2] >> a[3] >> a[4];
	sort(a, a+5);
	reverse(a, a+5);
	cout << a[0] << " " << a[1] << " " << a[2] << " " << a[3] << " " << a[4] << endl;
	return 0;
}

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

int main() {
  int num[5];
  for ( int i = 0; i < 5; i++ ) cin >> num[i];
  sort(num,num+5);
  reverse(num,num+5);

  cout << num[0] << " " << num[1] << " " << num[2] << " " << 
    num[3] << " " << num[4] << endl;
  return 0;
}

C++: #include <stdio.h>

#define N 5
int main(void){
    int a[N], tmp;
   
    for (int i=0; i<N; i++) scanf("%d", &a[i]);
    for (int i=N-1; i>0; i--){
        for (int j=0; j<i; j++){
            if (a[j] < a[j+1]){
                tmp = a[j];
                a[j] = a[j+1];
                a[j+1] = tmp;
            }
 	}
    }
    for (int i=0; i<N-1; i++) printf("%d ", a[i]);
    printf("%d", a[N-1]);
    return 0;
}

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

using namespace std;

#define TEMP_T template<typename T>
TEMP_T void sort(T& v){ sort(v.begin(), v.end()); }
TEMP_T void revs(T& v){ reverse(v.begin(), v.end()); }
TEMP_T void uniq(T& v){ sort(v); v.erase(unique(v.begin(), v.end()), v.end()); }
TEMP_T T    cums(T& v){ T r(v.size()); partial_sum(v.begin(), v.end(), r); return r; }
TEMP_T void show(T& v, char delim=' ', char end='\n'){ for(int i=0; i<v.size()-1; i++) cout << v[i] << delim; cout << v[v.size()-1] << end; }
TEMP_T T    acum(vector<T>& v, T b=0){ return accumulate(v.begin(), v.end(), b); }
TEMP_T vector<T> inpt(int n){ vector<T> v(n); for (int i=0; i<n; i++) cin >> v[i]; return v; }

static inline int in(){ int x; scanf("%d", &x); return x; }
static const int dx[] = {0, 0, 1, -1, 1, 1, -1, -1};
static const int dy[] = {1, -1, 0, 0, 1, -1, 1, -1};

struct Field {
  Field(int w, int h) : w(w), h(h) {}
  bool invalid(int x, int y){ return x < 0 || w <= x || y < 0 || h <= y; }
  const int w, h;
};

struct Solver {
  Solver(){}
  int solve(){
  }
};

int main()
{
  vector<int> vs = inpt<int>(5);
  sort(vs);
  revs(vs);
  show(vs);
  return (0);
}