CF BUDDY
← Problems·

1893A · Anonymous Informant

1400 · brute force, dfs and similar, graphs

Problem: You are given an array b1,b2,,bnb_1, b_2, \ldots, b_n.

An anonymous informant has told you that the array bb was obtained as follows: initially, there existed an array a1,a2,,ana_1, a_2, \ldots, a_n, after which the following two-component operation was performed kk times:

  1. A fixed point^{\dagger} xx of the array aa was chosen.
  2. Then, the array aa was cyclically shifted to the left^{\ddagger} exactly xx times.

As a result of kk such operations, the array b1,b2,,bnb_1, b_2, \ldots, b_n was obtained. You want to check if the words of the anonymous informant can be true or if they are guaranteed to be false.

^{\dagger}A number xx is called a fixed point of the array a1,a2,,ana_1, a_2, \ldots, a_n if 1xn1 \leq x \leq n and ax=xa_x = x.

^{\ddagger}A cyclic left shift of the array a1,a2,,ana_1, a_2, \ldots, a_n is the array a2,,an,a1a_2, \ldots, a_n, a_1.

Input Format: Each test contains multiple test cases. The first line contains an integer tt (1t1041 \le t \le 10^4) — the number of test cases. The description of the test cases follows.

The first line of each test case contains two integers n,kn, k (1n21051 \le n \le 2 \cdot 10^5, 1k1091 \le k \le 10^9) — the length of the array bb and the number of operations performed.

The second line of each test case contains nn integers b1,b2,,bnb_1, b_2, \ldots, b_n (1bi1091 \le b_i \le 10^9) — the elements of the array bb.

It is guaranteed that the sum of the values of nn for all test cases does not exceed 21052 \cdot 10^5.

Output Format: For each test case, output "Yes" if the words of the anonymous informant can be true, and "No" if they are guaranteed to be false.

Note: In the first test case, the array aa could be equal to [3,2,3,4,3][3, 2, 3, 4, 3]. In the first operation, a fixed point x=2x = 2 was chosen, and after 22 left shifts, the array became [3,4,3,3,2][3, 4, 3, 3, 2]. In the second operation, a fixed point x=3x = 3 was chosen, and after 33 left shifts, the array became [3,2,3,4,3][3, 2, 3, 4, 3]. In the third operation, a fixed point x=3x = 3 was chosen again, and after 33 left shifts, the array became [4,3,3,2,3][4, 3, 3, 2, 3], which is equal to the array bb.

In the second test case, the array aa could be equal to [7,2,1][7, 2, 1]. After the operation with a fixed point x=2x = 2, the array became [1,7,2][1, 7, 2]. Then, after the operation with a fixed point x=1x = 1, the array returned to its initial state [7,2,1][7, 2, 1]. These same 22 operations (with x=2x = 2, and x=1x = 1) were repeated 4949 times. So, after 100100 operations, the array returned to [7,2,1][7, 2, 1].

In the third test case, it can be shown that there is no solution.

Sample Cases

Case 1

Input

6
5 3
4 3 3 2 3
3 100
7 2 1
5 5
6 1 1 1 1
1 1000000000
1
8 48
9 10 11 12 13 14 15 8
2 1
1 42

Output

Yes
Yes
No
Yes
Yes
No

Similar problems

00:00:00
Loading editor…
Welcome! I'm your coding tutor for this problem. Use the chips below to reveal stored hints or get AI feedback on your code. I'll guide you step by step — never giving away the solution.

Sign in to unlock AI tutor feedback