using namespace std;
int arr[100000000];
void quickSort(int arr[],int l,int r)//left和right的首字母
{
if(l>=r) return;
int base,temp;int i=l,j=r;
base = arr[l]; //取最左边的数为基准数
while(i<j)
{
while(arr[j]>=base&&i<j)j--;//顺序很重要
while(arr[i]<=base&&i<j) i++;
if(i < j)
{temp = arr[i];arr[i] = arr[j];arr[j] = temp;}
}//基准数归位
arr[l]=arr[i];arr[i]=base;
quickSort(arr,l,i-1);//递归左边
quickSort(arr,i+1,r);//递归右边
}
int main()
{ int n;cin>>n;
for(int i=1;i<=n;i++) scanf("%d",&arr[i]);
quickSort(arr,1,n);
for(int i=1;i<=n;i++){
if(i != n)
cout << arr[i] << " ";
else
cout << arr[i] << "\n";
}
return 0;
}