#include <bits/stdc++.h>
int main() {
  int t, n, k;
  char ch;
  scanf("%d", &t);
  while (t--) {
    scanf("%d %d", &n, &k);
    scanf("%c", &ch);
    char a[n];
    int i, q = 0, ind[n], first = -1, top = 0, quo = 0, s = 0;
    gets(a);
    for (i = 0; i < n; i++) {
      if (a[i] == '1') {
        ind[top++] = i;
        if (first == -1) first = i;
      }
    }
    for (i = 0; i < top - 1; i++) {
      q = ind[i + 1] - ind[i] - 1 - 2 * k;
      if (q > 0) {
        if (q % (k + 1) != 0) {
          q = q / (k + 1);
          q = q + 1;
        } else
          q = q / (k + 1);
        quo += q;
      }
    }
    if (first != -1 && top != 0) {
      q = (n - ind[top - 1] - k - 1);
      if (q > 0) {
        if (q % (k + 1) != 0) {
          q = q / (k + 1);
          q = q + 1;
        } else
          q = q / (k + 1);
      } else
        q = 0;
      s = (first - 0 - k);
      if (s > 0) {
        if (s % (k + 1) != 0) {
          s = s / (k + 1);
          s = s + 1;
        } else
          s = s / (k + 1);
      } else
        s = 0;
      quo = quo + s + q;
    } else {
      if (n % (k + 1) != 0) {
        quo = n / (k + 1);
        quo = quo + 1;
      } else
        quo = n / (k + 1);
    }
    printf("%d\n", quo);
  }
}
