public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scn = new Scanner(System.in);
int n = scn.nextInt();
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = scn.nextInt();
}
int lo = 0;
int hi = n-1;
int [] arr3 = mergesort(arr,lo,hi);
for (int val : arr3) {
System.out.println(val + " ");
}
}
public static int[] mergesort(int[] arr, int lo, int hi) {
if(lo == hi) {
int br[]=new int[1];
br[0] = arr[lo];
return br;
}
int mid = (lo + hi) / 2;
int[] arr1 = mergesort(arr, lo, mid);
int[] arr2 = mergesort(arr, mid + 1, hi);
int[]arr3 = mergetwosorted(arr1,arr2);
return arr3;
}
public static int[] mergetwosorted(int arr1[], int arr2[]) {
int arr3[] = new int[arr1.length + arr2.length];
int i = 0;
int j = 0;
int k = 0;
while (i < arr1.length && j < arr2.length) {
if (arr1[i] <= arr2[j]) {
arr3[k] = arr1[i];
i++;
k++;
} else {
arr3[k] = arr2[j];
j++;
k++;
}
}
if (i == arr1.length) {
while (j < arr2.length) {
arr3[k] = arr2[j];
j++;
k++;
}
} else {
while (i < arr1.length) {
arr3[k] = arr1[i];
i++;
k++;
}
}
return arr3;
}
}