#include #include #include int main() { int r, k; scanf("%d %d", &r, &k); bool buffer[504]{}; bool* prevgen = buffer; bool* nextgen = buffer + 252; int len = 0; for (;;) { int c = getc(stdin); if (c == '.') prevgen[++len] = 0; else if (c == 'X') prevgen[++len] = 1; else if (c == EOF) break; } for (int g = 0; g < k; g++) { for (int i = 1; i <= len; i++) { int s = (prevgen[i - 1] << 2) | (prevgen[i + 0] << 1) | (prevgen[i + 1]); nextgen[i] = (r & (1 << s)) != 0; putc(nextgen[i] ? 'X' : '.', stdout); } putc('\n', stdout); if (prevgen < nextgen) { nextgen = buffer; prevgen = buffer + 252; } else { prevgen = buffer; nextgen = buffer + 252; } } return 0; }