import java.util.Arrays;
import java.util.PriorityQueue;
import java.util.Queue;
import java.util.Scanner;
public class Main {
private static int mod = (int) 1e9+7;
private static final int N = 100010;
private static int[] q = new int[N];
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
for(int i = 0; i < n; i++){
q[i] = sc.nextInt();
}
quickSort(q, 0, n -1);
for(int i = 0; i < n; i++){
System.out.print(q[i] + " ");
}
}
public static void quickSort(int[] q, int l ,int r){
if(l >= r)return;
int i = l - 1, j = r + 1, x = q[l + r >> 1];
while(i < j){
while(q[++i] < x);
while(q[--j] > x);
if(i < j){
int t = q[i];
q[i] = q[j];
q[j] = t;
}
}
quickSort(q, l, j);
quickSort(q,j + 1, r);
}
}
找中间的值,小于的放左边,大于的放右边,递归