#include <bits/stdc++.h>
using namespace std;
char s[9][3][4];
int x, y;
bool full(int x) {
  for (int i = 0; i < 3; i++)
    for (int j = 0; j < 3; j++)
      if (s[x][i][j] == '.') return 0;
  return 1;
}
int main() {
  scanf("%s%s%s", s[0][0], s[1][0], s[2][0]);
  scanf("%s%s%s", s[0][1], s[1][1], s[2][1]);
  scanf("%s%s%s", s[0][2], s[1][2], s[2][2]);
  scanf("%s%s%s", s[3][0], s[4][0], s[5][0]);
  scanf("%s%s%s", s[3][1], s[4][1], s[5][1]);
  scanf("%s%s%s", s[3][2], s[4][2], s[5][2]);
  scanf("%s%s%s", s[6][0], s[7][0], s[8][0]);
  scanf("%s%s%s", s[6][1], s[7][1], s[8][1]);
  scanf("%s%s%s", s[6][2], s[7][2], s[8][2]);
  scanf("%d%d", &x, &y);
  x--;
  y--;
  int xx = x % 3, yy = y % 3;
  int hh = xx * 3 + yy;
  if (full(hh)) {
    for (int i = 0; i < 9; i++) {
      for (int j = 0; j < 3; j++) {
        for (int k = 0; k < 3; k++)
          if (s[i][j][k] == '.') s[i][j][k] = '!';
      }
    }
  } else {
    for (int i = 0; i < 3; i++) {
      for (int j = 0; j < 3; j++)
        if (s[hh][i][j] == '.') s[hh][i][j] = '!';
    }
  }
  printf("%s %s %s\n", s[0][0], s[1][0], s[2][0]);
  printf("%s %s %s\n", s[0][1], s[1][1], s[2][1]);
  printf("%s %s %s\n", s[0][2], s[1][2], s[2][2]);
  puts("");
  printf("%s %s %s\n", s[3][0], s[4][0], s[5][0]);
  printf("%s %s %s\n", s[3][1], s[4][1], s[5][1]);
  printf("%s %s %s\n", s[3][2], s[4][2], s[5][2]);
  puts("");
  printf("%s %s %s\n", s[6][0], s[7][0], s[8][0]);
  printf("%s %s %s\n", s[6][1], s[7][1], s[8][1]);
  printf("%s %s %s\n", s[6][2], s[7][2], s[8][2]);
}
