AT_arc150_a [ARC150A] Continuous 1
Description
[problemUrl]: https://atcoder.jp/contests/arc150/tasks/arc150_a
`0`, `1`, `?` のみからなる長さ $ N $ の文字列 $ S=S_1S_2\dots\ S_N $ が与えられます。
これから $ S $ に含まれるすべての `?` を `0`, `1` のいずれかに置き換えることで、以下の条件がすべて満たされるようにしたいです。
- $ S $ は `1` をちょうど $ K $ 個含む。
- $ K $ 個の `1` は連続している。すなわち、ある $ i\ (1\ \leq\ i\ \le\ N-K+1) $ があって、$ S_i=S_{i+1}=\dots=S_{i+K-1}= $ `1` が成り立つ。
条件を満たすような `?` の置き換え方がちょうど $ 1 $ 通りであるか判定してください。
$ T $ 個のテストケースが与えられるので、それぞれについて答えを求めてください。
Input Format
入力は以下の形式で標準入力から与えられます。
> $ T $ $ \mathrm{case}_1 $ $ \vdots $ $ \mathrm{case}_T $
各ケースは以下の形式で与えられます。
> $ N $ $ K $ $ S $
Output Format
$ T $ 行出力してください。$ i $ 行目には $ i $ 番目のテストケースについて、条件を満たすような `?` の置き換え方がちょうど $ 1 $ 通りである場合は `Yes` を、そうでない場合は `No` を出力してください。
Explanation/Hint
### 制約
- $ 1\ \leq\ T\ \leq\ 10^5 $
- $ 1\ \leq\ K\