#include<stdio.h>
#include<stdlib.h>
#include<ctype>
#include<string.h>
int isValidNumber(char*str)
{
    if(*str=='-' || *str=='+')
    str++;
    if(!str)
    return 0;
    while(*str)
    {
        if(!isdigit(*str))
        return 0;
    str++;
}
return 1;
}
 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++;
             int temp=arr[i];
             arr[i]=arr[j];
             arr[j]=temp;
         }
     }
     int temp=arr[i+1];
     arr[i+1]=arr[high];
     arr[high]=temp;
     return(i+1);
 }
  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);
      }
  }
  int main()
  {
      int n;
      char buffer[100];
      if(scanf("%s",buffer)!=1 || !isValidNumber(buffer))
      {
          printf("Invalid input");
          return 0;
      }
      n=atoi(buffer);
      if(n<=0)
      {
          printf("Invalid input");
          return 0;
      }
      int*arr=(int*)malloc(n*sizeof(int));
      if(!arr)
      {
          printf("Invalid input");
          return 0;
      }
      for(int i=0;i<n;i++)
      {
          if(scanf("%s",buffer)!=1 || !isValidNumber(buffer))
          {
              printf("Invalid input");
              free(arr);
              return 0;
          }
          arr[i]=atoi(buffer);
      }
       quickSort(arr,0,n-1);
       for(int i=0;i<n;i++)
       {
           printf("%d",arr[i]);
           if(i<n-1)
           printf(" ");
       }
       free(arr);
       return 0;
  }