#CF2236B. 鞑靼电视节目

鞑靼电视节目

题目描述

在假期期间,叶戈尔来到喀山拜访他的朋友达比尔。出于无聊,达比尔和叶戈尔想出了一个新商业点子:制作一档自己的电视节目。

节目形式非常简单:每期邀请一位嘉宾,与嘉宾在二进制字符串上玩一个游戏。

在今天这期节目中,叶戈尔和达比尔邀请了阿尔谢尼(又称马坎)——鄂木斯克的头号明星。他们为游戏选择了一个长度为 nn 的二进制字符串 ss 和一个整数 kk

阿尔谢尼可以进行无限次操作。每次操作中,他可以选择一个整数 ii1ink1 \le i \le n - k),并反转位置 iii+ki + k 上的字符,即将 00 变为 11,将 11 变为 00

例如,如果 s=10110s = 10110k=2k = 2,那么选择 i=2i = 2 时,阿尔谢尼反转位置 2244 上的字符:[1011011100][ 10110 \rightarrow 11100 ]

阿尔谢尼希望获得大奖——一百万图格里克。为此,他需要将整个字符串 ss 变为全零。

请帮助阿尔谢尼判断他能否获得大奖,还是将空手返回鄂木斯克。

输入格式

第一行包含一个整数 tt1t1041 \le t \le 10^4)——测试用例的数量。

每个测试用例的第一行包含两个整数 nnkk1kn21051 \le k \le n \le 2 \cdot 10^5)。

每个测试用例的第二行包含一个长度为 nn 的二进制字符串 ss

保证所有测试用例的 nn 之和不超过 21052 \cdot 10^5

输出格式

对于每个测试用例,如果Arseniy能将字符串全部变为零,则输出"YES",否则输出"NO"。

你可以以任意大小写输出"YES"和"NO"(例如,"yES"、"yes"和"Yes"均被接受)。

样例

5
4 2
1010
3 2
111
3 3
111
3 1
110
1 1
1
YES
NO
NO
YES
NO