#include <iostream>
#include <string>
#include <vector>
#include <cstdio>

using namespace std;

int main() {
	int n;
	int aa = 1;
	int dx[] = {-1, 0, 1,-1, 0, 1,-1, 0, 1,-1, 0, 1,-1, /*0,*/ 1,-1, 0, 1,-1, 0, 1,-1, 0, 1,-1, 0, 1};
	int dy[] = {-1,-1,-1, 0, 0, 0, 1, 1, 1,-1,-1,-1, 0, /*0,*/ 0, 1, 1, 1,-1,-1,-1, 0, 0, 0, 1, 1, 1};
	int dz[] = {-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, /*0,*/ 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1};
	while (cin >> n) {
		if (n == 0) {
			break;
		}
		if (aa != 1) {
			cout << endl;
		}
		int d[5][5][5];
		string s;
		for (int i = 0; i < 5; i++) {
			for (int j = 0; j < 5; j++) {
				cin >> s;
				for (int k = 0; k < 5; k++) {
					d[k][j][i] = s[k]-'0';
				}
			}
		}
		/*for (int i = 0; i < 5; i++) {
			if (i != 0) {
				cout << endl;
			} else {
				printf("Case %d:\n", aa);
			}
			for (int j = 0; j < 5; j++) {
				for (int k = 0; k < 5; k++) {
					cout << d[k][j][i];
				}
				cout << endl;
			}
		}
		/*cout << 'a' << endl;*/
		int m1, m2;
		cin >> m1;
		vector<int> a(m1);
		for (int i = 0; i < m1; i++) {
			cin >> a[i];
		}
		//cout << m1 << endl;
		cin >> m2;
		vector<int> b(m2);
		for (int i = 0; i < m2; i++) {
			cin >> b[i];
		}
		//cout << m2 << endl;
		for (int i = 0; i < n; i++) {
			int d2[5][5][5];
			for (int x = 0; x < 5; x++) {
				for (int y = 0; y < 5; y++) {
					for (int z = 0; z < 5; z++) {
						int ccc = 0;
						for (int j = 0; j < 26; j++) {
							if (0 <= x+dx[j] && x+dx[j] < 5 && 0 <= y+dy[j] && y+dy[j] < 5 && 0 <= z+dz[j] && z+dz[j] < 5) {
								ccc +=d[x+dx[j]][y+dy[j]][z+dz[j]];
							}
						}
						d2[x][y][z] = 0;
						if (d[x][y][z] == 0) {
							for (int j = 0; j < m1; j++) {
								if (ccc == a[j]) {
									d2[x][y][z] = 1;
									break;
								}
							}
						} else {
							for (int j = 0; j < m2; j++) {
								if (ccc == b[j]) {
									d2[x][y][z] = 1;
									break;
								}
							}
						}
					}
				}
			}
			for (int x = 0; x < 5; x++) {
				for (int y = 0; y < 5; y++) {
					for (int z = 0; z < 5; z++) {
						d[x][y][z] = d2[x][y][z];
					}
				}
			}
		}
		for (int i = 0; i < 5; i++) {
			if (i != 0) {
				cout << endl;
			} else {
				printf("Case %d:\n", aa);
			}
			for (int j = 0; j < 5; j++) {
				for (int k = 0; k < 5; k++) {
					cout << d[k][j][i];
				}
				cout << endl;
			}
		}
		aa++;
	}
	return 0;
}