import java.util.Scanner;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        /*
         * 输入n个整数 升序输出其中最小的k个 第一行输入n k 第二行输入n个整数
         * 输出 在一行中输出最小的k个整数*/
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int k = scanner.nextInt();
        List<Integer> numberList = new ArrayList<>();
        /*while (scanner.hasNextInt()){
                numberList.add(scanner.nextInt());
        }*///只适用于有终止条件时使用 否者会一直等待控制台 数字输入
        // 若有明确的结束边界 可以使用for循环来进行数据录入
        // 若没有边界 使用nextLine整行读取 split分隔字符串
        for (int i = 0; i < n; i++) {
            numberList.add(scanner.nextInt());
        }
        //对numberList进行升序排序 并输出前k个整数
        for (int i = 0; i < numberList.size() - 1; i++) {
            for (int j = 0; j < numberList.size() - i - 1; j++) {
                if (numberList.get(j) > numberList.get(j + 1)) {
                    // 交换相邻元素
                    int temp = numberList.get(j);
                    numberList.set(j, numberList.get(j + 1));
                    numberList.set(j + 1, temp);
                }
            }
        }
        for (int i = 0; i < k; i++) {
            System.out.print(numberList.get(i)+" ");
        }
    }
}