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++: #include <iostream>
using namespace std;

int main() {
	int a,b,c,d,e;
	cin>>a>>b>>c>>d>>e;
	int num[]={a,b,c,d,e};
	for(int i=0;i<5;i++)
		for(int j=i+1;j<5;j++)
			if(num[i]<num[j])
				swap(num[i],num[j]);
	a=num[0];
	b=num[1];
	c=num[2];
	d=num[3];
	e=num[4];
	cout<<a<<" "<<b<<" "<<c<<" "<<d<<" "<<e<<endl;<<" "<<
}

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

int main()
{
	std::array<int,5> v;
	std::cin >> v[0] >> v[1] >> v[2] >> v[3] >> v[4];
	std::sort( v.begin(), v.end(), std::greater<int>() );
	std::cout << v[0] << ' ' << v[1] << ' ' << v[2] << ' ' << v[3] << ' ' << v[4] << '\n';
}

C++: *a=&a;main(i){*a=~scanf("%d",++a)?!printf(i?"%d\n":"%d ",*--a,main(0)):qsort(a-5,5,4,"YXZRPQ?+\2\303");}

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

int main(){
int a,b,c,d,e;
int A,B,C,D,E;
cin>>a>>b>>c>>d>>e;
if(a>b){
A=a;
B=b;}
else{
A=b;
B=a;}
if(c<B){
C=c;}
else{
C=B;
if(c<A){
B=c;}
else{
B=A;
A=c;}}
if(d<C){
D=d;}
else{
D=C;
if(d<B){
C=d;}
else{
C=B;
if(d<A){
B=d;}
else{
B=A;
A=d;}}}
if(e<D){
	E=e;}
else{
E=D;
if(e<C){
D=e;}
else{
D=C;
if(e<B){
C=e;}
else{
C=B;
if(e<A){
B=e;}
else{
B=A;
A=e;}}}}
cout<<A<<" "<<B<<" "<<C<<" "<<D<<" "<<E<<endl;
}

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

int main() {
	int num[5];
	scanf("%d %d %d %d %d",&num[0],&num[1],&num[2],&num[3],&num[4]);
	sort(num,num+5);
	printf("%d %d %d %d %d",num[4],num[3],num[2],num[1],num[0]);
}

C++: /* All men have limits. They learn what they are and learn
   not to exceed them, I ignore mine. -Batman           */

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

int main(){
int n[5];
for(int i=0;i<5;i++){
	cin>>n[i];
}
sort(n,n+5,greater<int>() );
for(int i=0;i<5;i++){
	if(i==4)cout<<n[i];
	else cout<<n[i]<<" ";
}
return 0;
}

C++: #define _USE_MATH_DEFINES

#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
#include <math.h>

using namespace std;

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

	return 0;
}

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



int main(void)
{
  int i=0;
  int aiTable[5];

cin>>aiTable[0]>>aiTable[1]>>aiTable[2]>>aiTable[3]>>aiTable[4];
    
 sort(aiTable, aiTable + 5);

for(i=5;i>0;)
    {
		i--;
	cout<<aiTable[i]<<" ";
    }
//cout<<endl;
}

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

C++: #include<bits/stdc++.h>
using namespace std;
#define all(vec) vec.begin(),vec.end()
typedef long long int ll;
typedef pair<int,int> P;
typedef pair<P,P> PP;
const ll MOD=10000;
const ll INF=1000000010;
const int MAX=100001;
int dx[4]={0,1,0,-1};
int dy[4]={1,0,-1,0};
int main(){
    int a[5];for(int i=0;i<5;i++){cin>>a[i];}sort(a,a+5,greater<int>());for(int i=0;i<5;i++){cout<<a[i];cout<<(i!=4?" ":"\n");}
    return 0;
}

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

#define times(n, i) uptil(0, n, i)
#define upto(f, t, i) for(auto _##i = (t), i = decltype(_##i)(f) poi  i <= _##i poi  i++)
#define uptil(f, t, i) for(auto _##i = (t), i = decltype(_##i)(f) poi  i < _##i poi  i++)
#define downto(f, t, i) for(auto i = (f), _##i = decltype(i)(t) poi  i >= _##i poi  i--)
#define downtil(f, t, i) for(auto i = (f), _##i = decltype(i)(t) poi  i > _##i poi  i--)

#define unless(c) if(!(c))
#define until(c) while(!(c))
#define loop while(true)

#define poi ;
#define poipoi << "\n"

/*#define do {*/
/*#define end }*/

#define val const auto
#define var auto

#define zenbu(c) c.begin(), c.end()

#define fuwafuwa(n, c) dokidoki((n) + (c) - 1, c)
#define dokidoki(n, c) ((n) / (c) * (c))

template<class T> bool read(T& t){
    return cin >> t poi
}
template<class T, class...U> bool read(T& t, U&... u){
    unless(cin >> t) return false poi
    return read(u...) poi
}

template<class T> T lov_yet(T t){
    if(t) return t poi
    else return 0 poi
}

template<class T> T gcd(T a, T b){
    if(b) return gcd(b, a % b) poi
    else return a poi
}

pair<double, double> solve_linear(double a1, double b1, double c1, double a2, double b2, double c2){
    return make_pair(lov_yet((b1 * c2 - b2 * c1) / (b1 * a2 - b2 * a1)), lov_yet((a1 * c2 - a2 * c1) / (a1 * b2 - b1 * a2))) poi
}

const long double PI = 3.141592653589793238462643383279502884L poi

double distance(const pair<double, double>& p){
    return lov_yet(sqrt(p.first * p.first + p.second * p.second)) poi
}
double distance(const pair<double, double>& a, const pair<double, double>& b){
    return distance(make_pair(a.first - b.first, a.second - b.second)) poi
}

double inner_product(const pair<double, double>& a, const pair<double, double>& b){
    return lov_yet(a.first * b.first + a.second * b.second) poi
}

double outer_product_z(const pair<double, double>& a, const pair<double, double>& b){
    return lov_yet(a.first * b.second - b.first * a.second) poi
}

template<class T> T toppo(stack<T>& stick){
    T choco = stick.top() poi
    stick.pop() poi
    return choco poi
}

bool include_word(const string& s, const string& find){
    if(s.size() < find.size()) return false poi
    if(s == find) return true poi
    if(s.substr(0, find.size() + 1) == find + " " || s.substr(s.size() - find.size() - 1) == " " + find) return true poi
    times(s.size() - find.size() - 2, i)
        if(s.substr(i, find.size() + 2) == " " + find + " ") return true poi
    return false poi
}

int main(){
    vector<int> pyon(5) poi
    times(5, i) cin >> pyon[i] poi
    sort(zenbu(pyon), greater<int>()) poi
    times(5, i) cout << (i ? " " : "") << pyon[i] poi
    cout poipoi poi

    return 0 poi
}

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

void b_sort(int* a , int n){
	for(int i=n ; i>=0 ; --i){
		for(int j=0; j<i-1 ; ++j){
			if(a[j]<a[j+1]){
				swap(a[j],a[j+1]);
			}
		}
	}
}

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

C++: #include <cstdio>
#include <set>
#include <utility>

int main() {
    std::multiset<int> s;
    
    int a;
    while (~scanf("%d", &a)) {
       s.insert(a);
    }
    for (auto i = s.rbegin(); i != s.rend(); ++i) {
        printf("%d%c", *i, std::next(i) != s.rend() ? ' ' : '\n');
    }
}

C++: #include<cstdio>
#include<algorithm>
using namespace std;
int main()
{
	int n[5];
	scanf("%d%d%d%d%d", n+0, n+1, n+2, n+3, n+4);
	sort(n, n+5);
	printf("%d %d %d %d %d\n", n[4], n[3], n[2], n[1], n[0]);
	return 0;
}