/*
  Copyright 2011 Marek "p2004a" Rusinowski
  Quick sort
*/
#include <cstdio>

#define MAXN 1000000

int array[MAXN];

void sort(int *begin, int *end) {
  if (begin + 1 >= end) return;
  int cur = *begin, *front = begin + 1, *back = end - 1;
  while (front <= back) {
    if (*back <= cur) {
      int tmp = *back;
      *back = *front;
      *front = tmp;
    } else {
      --back;
    }
    if (*front <= cur) {
      *(front - 1) = *front;
      ++front;
    }
  }
  *(front - 1) = cur;
  sort(begin, front - 1);
  sort(front, end);
}

int main() {
  int n;
  scanf("%d", &n);
  for (int i = 0; i < n; ++i) {
    scanf("%d", &array[i]);
  }
  sort(array, array + n);
  for (int i = 0; i < n; ++i) {
    printf("%d ", array[i]);
  }
  printf("\n");
  return 0;
}
