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\