#include <stdio.h>
#include <stdlib.h>

#define N 2000000
#define k 10000

int main(){

    int n,i,j;
    int *A,*B,C[N];

      A = (int *)malloc(sizeof(int) * n);
      B = (int *)malloc(sizeof(int) * n);


    scanf("%d",&n);

    for(i=0 ; i<k ; i++){
      C[i]=0;
    }

    for(i=0 ; i<n ; i++){
      scanf("%d",&A[i]);
      C[A[i]]++;
    }

    for (i=1; i <k ; i++) {
      C[i]+=C[i-1];
    }

    for(i=n ; i>0 ; i++){
      B[C[A[i]]-1]=A[i];
      C[A[i]]--;
    }

    for(i=0 ; i<n ; i++){
      printf("%d",B[i]);
      if(i<n-1) printf(" ");
    }

    printf("?\n");

    return 0;

}