#include<stdio.h>
void Quick_Sort(int *arr, int begin, int end){
if(begin >=end){
return;
}
int B[60];
int C[60];
int a,b,c,d,t;
a=b=c=d=0;
int tmp = arr[begin];
int i = begin;
int j = end;
while(i != j){
while(arr[j] >= tmp && j > i){
if(arr[j]==tmp){
a++;
B[a]=j;
}
j--;
}
while(arr[i] <= tmp && j > i){
if(arr[i]==tmp){
b++;
C[b]=i;
}
i++;
}
if(j > i){
t = arr[i];
arr[i] = arr[j];
arr[j] = t;
}
}
if(a!=0){
for(c=a;c>0;c--){
t=arr[B[c]];
arr[B[c]]=arr[i+a-c+1];
arr[i+a-c+1]=t;
}
}
if(b!=0){
for(d=b;d>0;d--){
t=arr[C[d]];
arr[C[d]]=arr[i-b+d];
arr[i-b+d]=t;
}
}
Quick_Sort(arr, begin, i-b);
Quick_Sort(arr, i+1+a, end);
}
int main(){
int n,m,i,c=0;
scanf("%d%d",&n,&m);
int A[m];
for(i=0;i<m;i++){
scanf("%d",&A[i]);
}
Quick_Sort(A,c,m-1);
printf("%d",A[0]);
for(i=1;i<m;i++){
printf(" %d",A[i]);
}
return 0;
}