#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1000100;
int n, k;
char s[MAXN];
int pi[MAXN], z[MAXN];
string res;
int add[MAXN];
int main() {
  scanf("%d %d\n", &n, &k);
  scanf("%s", s);
  if (k > n) {
    for (int i = 0; i < n; i++) res += '0';
    printf("%s\n", res.c_str());
    return 0;
  }
  if (k == 1) {
    for (int i = 0; i < n; i++) res += '1';
    printf("%s\n", res.c_str());
    return 0;
  }
  for (int i = 1; i < n; i++) {
    int j = pi[i - 1];
    while (j > 0 && s[i] != s[j]) j = pi[j - 1];
    if (s[i] == s[j]) j++;
    pi[i] = j;
  }
  for (int i = 1, l = 0, r = 0; i < n; i++) {
    if (i <= r) z[i] = min(r - i + 1, z[i - l]);
    while (i + z[i] < n && s[z[i]] == s[i + z[i]]) z[i]++;
    if (i + z[i] - 1 > r) l = i, r = i + z[i] - 1;
  }
  for (int i = 1; i < n; i++) {
    if ((i + 1) % k) continue;
    int len = (i + 1) / k;
    int nk = (i + 1) - pi[i];
    if ((i + 1) % nk == 0 && len % nk == 0) {
      int r = i + min(len, z[i + 1]) + 1;
      add[i]++;
      add[r]--;
    }
  }
  int sum = 0;
  for (int i = 0; i < n; i++) {
    sum += add[i];
    if (sum > 0)
      res += '1';
    else
      res += '0';
  }
  printf("%s\n", res.c_str());
}
