Олимпиадный тренинг

Задача . C. Сладости


Аня пришла на день рождения к своей подруге. На столе по кругу распложено \(n\) вкуснейших сладостей (для удобства пронумеруем их от \(1\) до \(n\) по часовой стрелке). Для каждой из сладостей известно, нравится она Ане или нет. Аня решила, что она должна съесть все сладости, которые есть на столе и нравятся ей.

Однако, есть все сладости подряд слишком скучно. Поэтому Аня придумала игру, которая позволит сделать процесс поедания сладостей более интересным.

Игра проходит по следующим правилам:

  • если на столе не осталось сладостей, которые нравятся Ане, то игра заканчивается;
  • в самом начале игры, если на столе есть хотя бы одна сладость, которую Аня хочет съесть, она съедает сладость под номером \(1\);
  • после того, как Аня съела какую-то сладость, она отсчитывает \(k\) сладостей по часовой стрелке, начиная со следующей сладости в круге, и съедает \(k\)-ю сладость в отсчете (если в круге меньше \(k\) сладостей, некоторые сладости могут поучаствовать в отсчете несколько раз, и Аня выбирает последнюю сладость в отсчете). Очевидно, уже съеденные сладости в отсчете не участвуют.

Например, пусть по кругу расположены \(6\) сладостей, сладости под номерами \(4\), \(5\) и \(6\) нравятся Ане, \(k = 4\). Тогда игра проходит следующим образом:

  1. изначально на столе расположены сладости \([1, 2, 3, 4, 5, 6]\), Аня выбирает сладость под номером \(1\).
  2. Аня съедает сладость \(1\), после этого на столе остаются сладости \([2, 3, 4, 5, 6]\). Аня отсчитывает \(4\) сладости, начиная со сладости \(2\), и останавливается на сладости \(5\).
  3. Аня съедает сладость \(5\), после этого на столе остаются сладости \([2, 3, 4, 6]\). Аня отсчитывает \(4\) сладости, начиная со сладости \(6\), и останавливается на сладости \(4\).
  4. Аня съедает сладость \(4\), после этого на столе остаются сладости \([2, 3, 6]\). Аня отсчитывает \(4\) сладости, начиная со сладости \(6\), и останавливается на сладости \(6\).
  5. Аня съедает сладость \(6\), после этого на столе остаются сладости \([2, 3]\). На столе не осталось сладостей, которые нравятся Ане, поэтому игра заканчивается.

Ваша задача — определить, сколько сладостей съест Аня.

Входные данные

Первая строка содержит одно целое число \(t\) (\(1 \le t \le 5000\)) — количество наборов входных данных.

Первая строка каждого набора содержит два целых числа \(n\) и \(k\) (\(1 \le k \le n \le 5000\)) — количество сладостей и параметр \(k\).

Следующая строка содержит строку \(s\), где \(s_i = 1\), если \(i\)-я сладость нравится Ане, и \(s_i = 0\) в противном случае.

Гарантируется, что сумма \(n\) по всем наборам входных данных не превосходит \(5000\).

Выходные данные

Для каждого набора входных данных выведите одно целое число — сколько сладостей съест Аня.

Примечание

Первый набор входных данных примера разобран в условии.


Примеры
Входные данныеВыходные данные
1 4
6 4
000111
7 3
0000100
3 2
000
5 1
10011
4
4
0
5

time 3000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя