编程题
### 问题描述
小飞得到了一个长度为 $n$ 的数组 $a$,数组元素全部为 $0$,小飞希望通过一定次数的操作将数组 $a$ 变为给定的数组 $b$。
每次操作的过程如下:小飞构造一个数组 $c$,满足 $c$ 的长度 $l \leq k$,且 $1 \leq c_i \leq n$。然后将 $a_{c_i}$ 的值赋为 $c_{(i+1) \bmod l},1 \leq i \leq l$。
小飞执行这种操作的次数没有限制,请确定小飞对于给定的数组 $b$,是否能完成将数组 $a$ 变为数组 $b$ 的任务。
### 输入格式
第一行两个整数 $n,k$。
第二行 $n$ 个整数,表示数组 $b$。
### 输出格式
若小飞可以完成任务,则输出 `YES`,否则输出 `NO`。
### 样例输入
```text
4 2
2 3 1 4
```
### 样例输出
```text
NO
```
### 评测数据规模
对于 $100$% 的评测数据,$1 \leq k \leq n \leq 10^5$,$1 \leq a_i \leq 10^5$。