//まともに使い方を理解していないくせにincludeしまくる人間のクズ
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <cstring>
#include <cctype>
#include <vector>
#include <algorithm>
#include <stack>
#include <queue>
#include <list>
#include <set>
#include <map>
#include <bitset>


//using namespace stdしないと表記がめんどくさいからね、仕方ないね
using namespace std;

//可読性を上げるためのdefineが仇となる典型的パターン
#define rep(i,n) for(int i = 0; i < n; i++)

//ローカル変数とグローバル変数は使い分けよう！
short n, x, y, j, k;
short planar[10][10];
int s;
unsigned long long int ans;

//関数って楽しいよね！（魔王スマイル）

void bom(short x, short y) {
	planar[x][y] = 0;
	for (s = 1; s <= 3; s++) {
		if (planar[x + j][y] == 1) bom(x + j, y);
		if (planar[x - j][y] == 1) bom(x - j, y);
		if (planar[x][y + j] == 1) bom(x, y + j);
		if (planar[x][y - j] == 1) bom(x, y - j);
	}
}

int main() {
	rep(i, 11) {
		planar[i][0] = 0;
		planar[i][10] = 0;
		planar[0][i] = 0;
		planar[10][i] = 0;
	}
	scanf("%d", &n);
	rep(i, n) {
		scanf("\n");
		for (j = 1; j <= 8; j++)
			for (k = 1; k <= 8; k++)
				scanf("%1d", &planar[j][k]);
		scanf("%d", &x);
		scanf("%d", &y);
		bom(y, x);
		printf("Data %d:\n", i + 1);
		for (j = 1; j <= 8; j++) {
			for (k = 1; k <= 8; k++) {
				printf("%d", planar[j][k]);
			}
			printf("\n");
		}
	}
	return 0;
}