Go: package main

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

var scanner = bufio.NewScanner(os.Stdin)

func nextInt() int {
	scanner.Scan()
	i, e := strconv.Atoi(scanner.Text())
	if e != nil {
		panic(e)
	}
	return i
}
func main() {
	scanner.Split(bufio.ScanWords)
	nums := make([]int, 5)
	for i := 0; i < 5; i++ {
		nums[i] = nextInt()
	}
	sort.Sort(sort.Reverse(sort.IntSlice(nums)))
	for i, v := range nums {
		if i == len(nums)-1 {
			fmt.Printf("%d\n", v)
		} else {
			fmt.Printf("%d ", v)
		}
	}
}

C++: //↓template↓

#include "bits/stdc++.h"
using namespace std;
#define Would
#define you
#define all(n)  n.begin(),n.end()
const long long INF = 1e18;
const long long MOD = 1e9 + 7;
const double pi = acos(-1);
const int SIZE = 1 << 17;
int dx[] = { 1,0,-1,0 }, dy[] = { 0,1,0,-1 }, alp[30];
long long fac[200005], finv[200005], inv[200005];
vector<long long>dij;
struct edge { long long to, cost; };
vector<vector<edge> >G;

long long mod_pow(long long a, long long b) {
	long long res = 1, mul = a;
	for (int i = 0; i < 31; ++i) {
		if (b >> i & 1) {
			res *= mul;
			res %= MOD;
		}
		mul = (mul * mul) % MOD;
	}

	return res;
}

void addedge(int from, int to, int cost) {
	G[from].push_back({ to,cost });
	G[to].push_back({ from,cost });
}

//↑template↑


int main() {
	vector<int>v;
	for (int i = 0; i < 5; ++i) {
		int n;
		cin >> n;
		v.push_back(n);
	}
	sort(v.rbegin(), v.rend());
	for (auto i : v) { cout << i << " "; }
}

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

int main()
{
	std::vector<int> num(5);

	std::cin >> num[0] >> num[1] >> num[2] >> num[3] >> num[4];

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

	for(size_t i=0; i<num.size()-1; ++i)
	{
		std::cout << num[num.size()-1-i] << ' ';
	}

	std::cout << num[0] << '\n';
}

C++: #include <cstdio>
#include <algorithm>
#include <functional>
#include <stack>
#include <cmath>
using namespace std;

#define REP(i, n) for(int i = 0;i < n;i++)
#define REPR(i, n) for(int i = n;i >= 0;i--)
#define FOR(i, m, n) for(int i = m;i < n;i++)
#define llong long long

int main() {
  int a[5];
  REP(i,5) scanf("%d",a+i);
  sort(a,a+5,greater<int>());
  REP(i,4) printf("%d ",a[i]);
  printf("%d\n",a[4]);
  return 0;
}

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

int main(){
	vector<int> a;
	int n;

	for(int i=0 ; i<5 ; i++){
		cin >> n;
		a.push_back(n);
	}
	sort( a.begin(), a.end(), greater<int>());
	for(int i=0 ; i<=4 ; i++){
		cout << a[i]<< " " ;
	}
}

C++: #include <cmath>
#include <iostream>
#include <cstdio>
#include <ctype.h>
#include <cstdlib>
#include <algorithm>
#include <string>
#include <iomanip>
#include <set>
#include <stack>
#include <queue>
#include <vector>
#include <sstream>

using namespace std;

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

C++: #include<cstdio>
#include<algorithm>
#include<vector>
#include<string>
#include<iostream>
#include<queue>
#include<map>
#include<set>
#include<complex>
#include<stack>
#include<cmath>

using namespace std;

#define reps(i,f,n) for(int i=f;i<int(n);i++)
#define rep(i,n) reps(i,0,n)



int main(){
	
	vector<int> a;
	rep(i,5){
		int b;
		cin>>b;
		a.push_back(b);
	}
	sort(a.begin(),a.end());
	reverse(a.begin(),a.end());
	rep(i,5){
		if(i!=0)printf(" ");
		printf("%d",a[i]);
	}puts("");
}

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

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 < 4; i++)
		cout << a[i] << " ";
	cout << a[4] << endl;

	return 0;
}

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

int main(){
    int n;
    vector<int> v;
    
    for(unsigned int i = 0;i < 5;i++){
        cin >> n;
        v.push_back(n);
    }
    
    sort(v.begin(), v.end(), greater<int>());
    
    for(int i = 0;i < v.size()-1;i++){
        cout << v.at(i) << " ";
    }cout << v.at(v.size()-1) << endl;
}

C++: #include <algorithm>
#include <cstdio>
#include <cstdlib>

using namespace std;

int arr[5];

int main()
{
	for(int a=0;a<5;a++)
	{
		scanf("%d",&arr[a]);
	}
	sort(arr,arr+5);
	for(int a=4;a>=0;a--)
	{
		printf("%d ",arr[a]);
	}
	printf("\n");
	return 0;
}

C++: #include <iostream>
#include <algorithm>
#include <cctype>
#include <cstdio>
#include <math.h>
using namespace std;

int main() {
	
	int a,b,c,d,e,x;
	
	while(cin>>a>>b>>c>>d>>e){
		for(int i=0;i<5;i++){
			if(a<b){x=a;a=b;b=x;}
			if(b<c){x=b;b=c;c=x;}
			if(c<d){x=c;c=d;d=x;}
			if(d<e){x=d;d=e;e=x;}
		}
		cout<<a<<" "<<b<<" "<<c<<" "<<d<<" "<<e<<endl;
		}
	return 0;
}

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

int main(){
	priority_queue<int> que;
	for(int i = 0;i < 5;i++){
		int a;
		cin >> a;
		que.push(a);
	}
	while(!que.empty()){
		cout << que.top() << " ";
		que.pop();
	}
	//cout << endl;
	return 0;
}

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

C++: #include <iostream>
#include <sstream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <cstring>
#include <string>
#include <vector>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <algorithm>
#include <functional>

using namespace std;

int main()
{
	int n;
	vector<int> nums;

	while ( cin >> n )
	{
		nums.push_back( n );
	}

	sort( nums.begin(), nums.end(), greater<int>() );
	
	for ( vector<int>::iterator it = nums.begin(); it != nums.end(); )
	{
		cout << *( it++ );

		if ( it != nums.end() )
		{
			cout << ' ';
		}
	}

	return 0;
}

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

const int ALPHA = 26;

int main(){
	string input;
	while(cin && getline(cin, input)){
		int a, b, c, d, e;
		istringstream is(input);
		is>>a>>b>>c>>d>>e;
		vector<int> buf;
		buf.push_back(a);
		buf.push_back(b);
		buf.push_back(c);
		buf.push_back(d);
		buf.push_back(e);
		sort(buf.begin(),buf.end());
		reverse(buf.begin(),buf.end());
		for(int i=0; i<buf.size(); i++){
			if(i!=0) cout<<" ";
			cout<<buf[i];
		}
		cout<<endl;
	}
	return 0;
}

C++: #include <cstdio>
#include <cstdlib>
#include <cstdint>
#include <cstring>
#include <cctype>
#include <iostream>
#include <sstream>
#include <vector>
#include <list>
#include <deque>
#include <map>
#include <set>
#include <stack>
#include <queue>
#include <unordered_map>
#include <unordered_set>
#include <algorithm>
#include <functional>
#include <complex>
using namespace std;
typedef pair<int, int> pii;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef long long ll;
const double PI = 3.141592653589793238462643383279502884L;
const int LARGE_PRIME = 1000000007;
#define all(c) (c).begin(), (c).end()
#define rall(c) (c).rbegin(), (c).rend()
#define tr(c, i) for(auto i = (c).begin(); i != (c).end(); i++)
#define rtr(c, i) for(auto i = (c).rbegin(); i != (c).rend(); i++)
#define repfn(i,a,cont,next) \
  for(auto i = (a); [=](){return(cont);}(); i = [=](){return(next);}())
#define repby(i,a,b,s) repfn(i,a,i<b,i+s)
#define repab(i,a,b) repby(i,a,b,1)
#define rep(i,b) repab(i,0,b)
#define pb push_back
#define sz(c) int((c).size())

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

  rep (i, 5) {
    cin >> tmp;
    v.pb(tmp);
  }
  sort(rall(v));

  for (auto& i : v) {
    cout << i << " ";
  }
  cout << endl;

  return 0;
}