Codeforces Round 897 (Div. 2)
D
Cyclic Operations
Codeforces
1800
原题
← CE1 →
翻译中…

Egor has an array $a$ of length $n$, initially consisting of zeros. However, he wanted to turn it into another array $b$ of length $n$.

翻译中…

Since Egor doesn't take easy paths, only the following operation can be used (possibly zero or several times):

翻译中…
  • choose an array $l$ of length $k$ ($1 \leq l_i \leq n$, all $l_i$ are distinct) and change each element $a_{l_i}$ to $l_{(i\%k)+1}$ ($1 \leq i \leq k$).
翻译中…

He became interested in whether it is possible to get the array $b$ using only these operations. Since Egor is still a beginner programmer, he asked you to help him solve this problem.

翻译中…

The operation $\%$ means taking the remainder, that is, $a\%b$ is equal to the remainder of dividing the number $a$ by the number $b$.

翻译中…

Input

翻译中…

The first line of the input contains an integer $t$ ($1 \leq t \leq 10^5$) - the number of test cases.

翻译中…

Each test case consists of two lines. The first line contains two integers $n$ and $k$ ($1 \leq k \leq n \leq 10^5$).

翻译中…

The second line contains the array $b_1, b_2, \ldots, b_n$ ($1 \leq b_i \leq n$).

翻译中…

It is guaranteed that the sum of $n$ over all test cases does not exceed $2 \cdot 10^5$.

翻译中…

Output

翻译中…

For each test case, output "YES" (without quotes) if there is a way to get the array $b$ using only the given operation. Otherwise, output "NO" (without quotes). You can output each letter in any case (lowercase or uppercase). For example, the strings "yEs", "yes", "Yes" and "YES" will be accepted as a positive answer.

翻译中…

Note

翻译中…

Let's consider the first example:

翻译中…
  • Apply the operation with $l$ = $[1,2,3]$. Now $a$ = $[2,3,1,0,0]$.
  • Apply the operation with $l$ = $[3,5,4]$. Now $a$ = $[2,3,5,3,4]$ = $b$.
翻译中…

We see that it is possible to get the array $b$. Therefore, the answer is

翻译中…

YES

翻译中…

.

翻译中…

In the second example, it can be proven that the array $b$ cannot be obtained, therefore the answer is NO.

翻译中…

样例

Input #1
6
5 3
2 3 5 3 4
4 2
2 4 3 1
1 1
1
3 1
1 2 3
5 3
5 4 3 2 1
6 1
1 2 3 1 5 6
Output #1
YES
NO
YES
YES
NO
NO
InputCopy OutputCopy
题目信息
题号
1867D
时间限制
1 s
内存限制
256 MB
标签
暴力
构造
DFS 及类似
图论
贪心
模拟

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。