#include<stdio.h>
void quicksort(int num[],int begin,int end);
int a[2000001]={0};
int main()
{
int m,n;
scanf("%d%d",&n,&m);
for(int i=0;i<m;i++)
{
scanf("%d",&a[i]);
}
quicksort(a,0,m-1);
for(int j=0;j<m;j++)
{
printf("%d ",a[j]);
}
return 0;
}
void quicksort(int num[],int begin,int end)
{
int left=begin,right=end,tmp=num[begin];
if(left>right)
{
return;
}
int temp;
while(left<right)
{
while(num[right]>=tmp && left<right)
{
right--;
}
while(num[left]<=tmp && left<right)
{
left++;
}
if(left<right)
{
temp=num[left];
num[left]=num[right];
num[right]=temp;
}
}
num[begin]=num[left];
num[left]=tmp;
quicksort(num,left+1,end);
quicksort(num,begin,left-1);
}