#include<stdio.h> 

int main(){ 
	int n,m,i,j,k,temp; 
	scanf("%d",&n);
	scanf("%d",&m);
	
	
	int a[m];
	for(i = 0;i < m;i++){
		scanf("%d",&a[i]);
	} 
	
	int b[m+1];
	for(i = 0;i < m;i++){
		b[i] = a[i]; 
	} 
	b[m] = n;

	for(i = 0;i < m;i++) {
		k = i; //假设最小的值下标为i 
		for(j = i + 1;j < m+1;j++){
			if(b[j] < b[k]){   //如果需要从大到小排序  < 换 > 
				k = j;
			}

		} 
		
		if(k != i){
			temp = b[i];
			b[i]  = b[k];
			b[k] = temp;
		}
	
	
	} 
	
	for(i = 0;i < m+1;i++){
		printf("%d ",b[i]);
	}	
	
	return 0; 
	  
} 

/**************************************************************
	Problem: 1161
	User: admin
	Language: C
	Result: Accepted
	Time:8 ms
	Memory:1144 kb
****************************************************************/