#include <stdio.h>
char map[11][11] = {0};
char map2[11][11] = {0};
int queue[10000][2] = {0};
int front=0, rear=0;
void calc()
{
int x = queue[front][0];
int y = queue[front][1];
front++;
if (x==0||y==0||x==10||y==10) return;
int sum=0;
if (map[x][y] == '1') return;
for (int i=-1; i<=1; i++)
{
for (int j=-1; j<=1; j++)
{
if (map[x+i][y+j] == '1')
{
sum++;
}
}
}
if (sum > 0)
{
map2[x][y] = sum + '0';
return;
}
sum=0;
map2[x][y] = 'X';
for (int i=-1; i<=1; i++)
{
for (int j=-1; j<=1; j++)
{
if (map[x+i][y+j]=='1')
{
sum++;
}
if (map2[x+i][y+j]!='X' && map2[x+i][y+j]=='_' && !sum)
{
queue[rear][0] = x+i;
queue[rear][1] = y+j;
rear++;
}
}
}
map2[x][y] = sum + '0';
}
int main()
{
int r, c;
for (int i=0; i<11; i++)
{
for (int j=0; j<11; j++)
{
if (i==0||j==0||i==10||j==10)
{
map[i][j] = 9;
map2[i][j] = 9;
}
}
}
for (int i=1; i<=9; i++)
{
for (int j=1; j<=9; j++)
{
scanf(" %c", &map[i][j]);
map2[i][j] = '_';
}
}
scanf("%d %d", &r, &c);
if (map[r][c] == '1')
{
for (int i=1; i<=9; i++)
{
for (int j=1; j<=9; j++)
{
if (i==r && j==c)
{
printf("-1 ");
}
else
{
printf("_ ");
}
}
printf("\n");
}
}
else
{
queue[rear][0] = r;
queue[rear][1] = c;
rear++;
for (;front!=rear;)
{
calc();
}
for (int i=1; i<=9; i++)
{
for (int j=1; j<=9; j++)
{
printf("%c ", map2[i][j]);
}
printf("\n");
}
}
}