int par(int arr[], int low, int high)
{
int pivot = arr[high]; int j = low;
for (int i = low; i <= high; i++) {
if (arr[i] < pivot) {
int c = arr[i];
arr[i] = arr[j];
arr[j] = c;
j++;
}
}
int c = arr[high];
arr[high] = arr[j];
arr[j] = c;
return j;
}
void qs(int arr[], int low, int high) {
if (low < high) {
int ret = par(arr, low, high);
qs(arr, low, ret - 1);
qs(arr, ret+1, high);
}
}
int main()
{
int n, m,count=0; static arr[2000000];
scanf("%d%d", &n, &m);
for (int i = 0; i < m; i++)
{
int a;
scanf("%d", &a);
if (a > 0 && a <= m) {
arr[i] = a;
count++;
}
}
qs(arr, 0, count - 1);
for (int i = 0; i < count; i++)
{
printf("%d ", arr[i]);
}
return 0;
}