#include using namespace std; int main() { bool tmp[10]; char line[500]; char out[500]; memset(tmp, 0, 10 * sizeof(bool)); int tmpPos = 0; int n, l; cin >> n >> l; while (n) { tmp[tmpPos] = n % 2; tmpPos++; n /= 2; } cin >> line; int len = strlen(line); for (int m = 0; m < l; m++) { int current[3]; for (int i = 0; i < len; i++) { if (i == 0) { current[0] = 0; } else { if (line[i - 1] == 'X') { current[0] = 1; } else { current[0] = 0; } } if (line[i] == 'X') { current[1] = 1; } else { current[1] = 0; } if (i == n - 1) { current[2] = 0; } else { if (line[i + 1] == 'X') { current[2] = 1; } else { current[2] = 0; } } int idx = (current[0] * 4) + (current[1] * 2) + (current[2] * 1); if (tmp[idx] == 0) { out[i] = '.'; } else { out[i] = 'X'; } } out[len] = '\0'; cout << out << endl; memcpy(line, out, len); } return 0; }