编程题
### 问题描述
小齐有 $N$ 头奶牛(分别编号为 $1$ 到 $N$)排成一排。小齐希望按递增顺序排列奶牛,但很遗憾,它们当前的顺序是混乱的。小齐决定通过一个特殊的操作来让奶牛自行排序。
操作规则如下:小齐会逐一大声呼喊奶牛的编号,每当一头奶牛被呼喊到时,她会确保自己不乱序。她会与右边编号较小的奶牛交换位置,然后与左边编号较大的奶牛交换位置,直到她的左右两边的奶牛编号分别较大和较小。
由于小齐不确定哪些奶牛在听从命令,他想要选择一个子集进行操作,使得通过逐一呼喊子集中的奶牛,最终可以使得所有奶牛有序。此外,小齐认为某个数字 $K$ 非常幸运。请帮助小齐找到字典序第 $K$ 小的最小子集,使得通过呼喊该子集中的奶牛,最终可以使得所有奶牛有序。
### 输入格式
第一行包含一个整数 $N$,表示奶牛的数量。
第二行包含一个整数 $K$,表示幸运数字。
第三行包含 $N$ 个空格分隔的整数,表示奶牛的初始编号顺序。
### 输出格式
第一行输出最小子集的大小。
接下来的行输出最小子集中奶牛的编号,按递增顺序排列。
### 样例输入
```
4
1
4 2 1 3
```
### 样例输出
```
2
1
4
```
### 评测数据规模
$1 \leq N \leq 10^5$。