G. Commemorative Coin
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

If only I had held the hero's hand instead of the commemorative coin back then...

There are $$$n$$$ commemorative coins arranged in a row. Initially, all coins are facing up.

In one operation, you can choose a consecutive segment of exactly $$$k$$$ coins and flip all of them.

Given a final state $$$s$$$ describing whether each coin is heads up or tails up, determine if it is possible to reach this state from the initial state using any number of operations (including zero operations).

Input

The first line contains a positive integer $$$T$$$ $$$(1 \le T \le 2 \times 10^5)$$$, denoting the number of test cases.

For each test case:

  • The first line contains two positive integers $$$n, k$$$ $$$(1 \le k \le n \le 2 \times 10^5)$$$.
  • The second line contains a string $$$s$$$ of length $$$n$$$ consisting of 0 and 1. $$$s_i = 0$$$ means the $$$i$$$-th coin is heads up in the final state, and $$$s_i = 1$$$ means the $$$i$$$-th coin is tails up.

It is guaranteed that the sum of $$$n$$$ across all test cases in a single test set does not exceed $$$2 \times 10^5$$$.

Output

For each test case, output a single line containing Yes if the state is reachable, otherwise output No. The answer is case-insensitive.

Example
Input
2
5 3
01110
3 2
100
Output
YES
NO