编程题
### 问题描述
在一场游戏中,乐乐有一个包含 $ N $ 个宝石的袋子,每个宝石上都刻有一个魔法数字。乐乐可以选择两颗距离不超过 $ K $ 的宝石(宝石的位置由它们在袋子中的顺序决定)并交换它们。乐乐的目标是通过最多一次交换,让袋子中的宝石按魔法数字形成最小的字典序排列。
### 输入格式
第一行包含两个整数 $ N $ 和 $ K $。
第二行包含 $ N $ 个整数,表示宝石上的魔法数字。
### 输出格式
输出 $ N $ 个整数,表示通过至多一次交换后,能得到的按魔法数字最小字典序排列的宝石序列。
### 样例输入
```
5 3
5 4 3 2 1
```
### 样例输出
```
2 4 3 5 1
```
### 评测数据规模
- $1 \leq K \leq N \leq 10^5$
- $1 \leq A_i \leq 10^5$