import java.util.Scanner;
public class Main {
public static void swap(int[] arr, int i, int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
public static int partition(int[] arr, int low, int high) {
int pivot = arr[high];
int i = low - 1;
for (int j = low; j < high; j++) {
if (arr[j] < pivot) {
i++;
swap(arr, i, j);
}
}
swap(arr, i + 1, high);
return i + 1;
}
public static void quickSort(int[] arr, int low, int high) {
if (low < high) {
int pi = partition(arr, low, high);
quickSort(arr, low, pi - 1);
quickSort(arr, pi + 1, high);
}
}
public static void main
(String[] args
) { Scanner scanner
= new Scanner
(System.
in);
int n = scanner.nextInt();
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = scanner.nextInt();
}
quickSort(arr, 0, n - 1);
for (int i = 0; i < n; i++) {
System.
out.
print(arr
[i
] + " "); }
scanner.close();
}
}
aW1wb3J0IGphdmEudXRpbC5TY2FubmVyOwoKcHVibGljIGNsYXNzIE1haW4gewogICAgcHVibGljIHN0YXRpYyB2b2lkIHN3YXAoaW50W10gYXJyLCBpbnQgaSwgaW50IGopIHsKICAgICAgICBpbnQgdGVtcCA9IGFycltpXTsKICAgICAgICBhcnJbaV0gPSBhcnJbal07CiAgICAgICAgYXJyW2pdID0gdGVtcDsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGludCBwYXJ0aXRpb24oaW50W10gYXJyLCBpbnQgbG93LCBpbnQgaGlnaCkgewogICAgICAgIGludCBwaXZvdCA9IGFycltoaWdoXTsKICAgICAgICBpbnQgaSA9IGxvdyAtIDE7CgogICAgICAgIGZvciAoaW50IGogPSBsb3c7IGogPCBoaWdoOyBqKyspIHsKICAgICAgICAgICAgaWYgKGFycltqXSA8IHBpdm90KSB7CiAgICAgICAgICAgICAgICBpKys7CiAgICAgICAgICAgICAgICBzd2FwKGFyciwgaSwgaik7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgc3dhcChhcnIsIGkgKyAxLCBoaWdoKTsKICAgICAgICByZXR1cm4gaSArIDE7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyB2b2lkIHF1aWNrU29ydChpbnRbXSBhcnIsIGludCBsb3csIGludCBoaWdoKSB7CiAgICAgICAgaWYgKGxvdyA8IGhpZ2gpIHsKICAgICAgICAgICAgaW50IHBpID0gcGFydGl0aW9uKGFyciwgbG93LCBoaWdoKTsKICAgICAgICAgICAgcXVpY2tTb3J0KGFyciwgbG93LCBwaSAtIDEpOwogICAgICAgICAgICBxdWlja1NvcnQoYXJyLCBwaSArIDEsIGhpZ2gpOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CiAgICAgICAgU2Nhbm5lciBzY2FubmVyID0gbmV3IFNjYW5uZXIoU3lzdGVtLmluKTsKICAgICAgICAKICAgICAgICBpbnQgbiA9IHNjYW5uZXIubmV4dEludCgpOwogICAgICAgIGludFtdIGFyciA9IG5ldyBpbnRbbl07CiAgICAgICAgCiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICAgICAgYXJyW2ldID0gc2Nhbm5lci5uZXh0SW50KCk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIHF1aWNrU29ydChhcnIsIDAsIG4gLSAxKTsKICAgICAgICAKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50KGFycltpXSArICIgIik7CiAgICAgICAgfQogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigpOwogICAgICAgIHNjYW5uZXIuY2xvc2UoKTsKICAgIH0KfQ==