#include<iostream>
using namespace std;
//p to q, q+1 to r
void merge(int A[], int p, int q, int r)
{
int len1=q-p+1;
int len2=r-q;
int *L=new int[len1+1];
int *R=new int[len2+1];
for(int i=0;i<len1;i++)
L[i]=A[i+p];
for(int i=0;i<len2;i++)
R[i]=A[i+q+1];
L[len1]=R[len2]=INT_MAX;
int i,j;
i=j=0;
for(int t=p;t<=r;t++)
{
if(L[i]>R[j])
{
A[t]=R[j];
j++;
}
else
{
A[t]=L[i];
i++;
}
}
delete[] L;
delete[] R;
}
void mergeSort(int A[], int l,int r)
{
if(l<r)
{
int mid=(l+r)/2;
mergeSort(A,l,mid);
mergeSort(A,mid+1,r);
merge(A,l,mid,r);
}
}
int main()
{
const int M=100;
int A[M];
int n;
n=0;
while(scanf("%d",&A[n])!=EOF)
n++;
mergeSort(A,0,n-1);
for(int i=0;i<n;i++)
printf("%d ",A[i]);
}