package com.Tecent.success.sg;
import java.util.Scanner;
/**
* 归并排序数组版
* @author Dell
*
*/
public class GuiBing {
public static void MergeSort(int[] a, int start,int end)
{
if(start<end)
{
int mid=(start+end)/2;
MergeSort(a,start,mid);
MergeSort(a,mid+1,end);
merge(a,start,mid,end);
}
}
public static void merge(int[]a, int start ,int mid ,int end)
{
int p=start;
int q=mid+1;
int[] temp=new int[a.length];
int k=start;
while(p<=mid&&q<=end)
{
if(a[p]<a[q])
{
temp[k++]=a[p++];
}
else
{
temp[k++]=a[q++];
}
}
if(p<=mid)
{
for(int i=p;i<=mid;i++)
{
temp[k++]=a[i];
}
}
if(q<=end)
{
for(int i=q;i<=end;i++)
{
temp[k++]=a[i];
}
}
for(int i=start;i<=end;i++)
{
a[i]=temp[i];
}
}
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int[] a=new int[n];
for(int i=0;i<n;i++)
{
a[i]=sc.nextInt();
}
MergeSort(a,0,a.length-1);
for(int i=0;i<a.length;i++)
{
System.out.print(a[i]+" ");
}
}
}