#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Sat Apr 14 17:03:23 2018
@author: vicky
"""
#n=int(input())
#l=[]
#for i in range(n):
# l=l+[int(n) for n in input().split()]
#b=0
#s=0
#while b<len(l):
# if l[b]==1:
# s=s+(l[b+2]-l[b+1]+1)*l[b+3]
# b=b+4
# print(s)
# print(b)
# elif l[b]==2:
# s=s+l[b+1]*l[b+2]
# b=b+3
# print(s)
# print(b)
#print(s)
#从小到大排序,输出前k个元素
#输入:
#3 2
#1 3 2
#输出
#1,2
a=[int(n) for n in input().split()]
n=a[0]
k=a[1]
l=[int(n) for n in input().split()]
#l.sort() #将l从小到大排序,影响a本身结构
#sorted(l) #将a从小到大排序,不影响a本身结构
#冒泡排序
for index in range(len(l)):
flag = True # 标志位
for j in range(1, len(l) - index):
if l[j - 1] > l[j]:
l[j - 1], l[j] = l[j], l[j - 1]
#相当于c++中的swap,如果分开写要引入一个中间值
flag = False
if flag:
break # 没有发生交换,直接返回list
ans=','.join(str(l[i]) for i in range(k))
print(ans)