It's Senpai's turn to draw now! Senpai starts with an initially empty canvas, represented by an array of length all with
layers of paint. In one brush stroke, he can add
layer of paint to any subarray of length at least
and at most
. To allow himself a wide variety of brush strokes, Senpai chooses
and
such that he can use at least half of all possible stroke lengths from
to
. In the end, he aims to have exactly
layers of paint on index
for all
. Please tell him the minimum number of brush strokes needed to achieve this, or report that it is impossible. To ensure the integrity of your solution, there may be up to
test cases.
Constraints
The sum of over all test cases will not exceed
.
Subtask 1 [20%]
Subtask 2 [30%]
The sum of over all test cases will not exceed
.
Subtask 3 [50%]
No additional constraints.
Input Specification
The first line contains an integer , the number of test cases. The next
lines will describe the test cases.
The first line of each test case contains integers
,
, and
.
The second line of each test case contains integers
.
Output Specification
For each test case, output one integer on its own line: either if it is impossible to get
layers of paint on index
for all
, or the minimum number of brush strokes required to accomplish the task otherwise.
Sample Input
2
5 2 4
1 2 3 4 1
5 3 5
1 2 3 4 1
Sample Output
4
-1
Explanation
One possible solution for the first test case is to use brush strokes covering the following ranges: .
For the second test case, it can be proven that no sequence of valid brush strokes can get layers of paint on index
for all
.
Comments