#include <bits/stdc++.h>
using namespace std;
const int maxn = 3e3 + 12;
char s[maxn];
int n, p;
int main() {
  while (~scanf("%d%d", &n, &p)) {
    scanf(" ");
    scanf("%s", s);
    bool cg = false;
    for (register int i = 0; i + p < n; i++) {
      if ((s[i] == '.' || s[i + p] == '.')) {
        if (s[i] == '.' && s[i + p] != '.') {
          cg = true;
          s[i] = (s[i + p] == '1') ? '0' : '1';
          break;
        } else if (s[i + p] == '.' && s[i] != '.') {
          cg = true;
          s[i + p] = (s[i] == '1') ? '0' : '1';
          break;
        } else if (s[i] == '.' && s[i + p] == '.') {
          s[i] = '0';
          s[i + p] = '1';
          cg = true;
          break;
        }
      }
      if (s[i] != s[i + p]) {
        cg = true;
        break;
      }
    }
    if (cg == true) {
      for (register int i = 0; i < n; i++) {
        if (s[i] == '.')
          printf("0");
        else
          printf("%c", s[i]);
      }
      printf("\n");
    } else
      printf("No\n");
  }
  return 0;
}
