#include<bits/stdc++.h>
using namespace std;
char a[25][25], b[25][25], t[25][25], t2[25][25], t3[25][25];
int T, n, m;
bool check() {
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
if (a[i][j] != t3[i][j]) {
return 0;
}
}
}
return 1;
}
void slove() {
for (int i = 1; i < n - m; i++) {
for (int j = 1; j < n - m; j++) {
for (int i2 = 0; i2 < m; i2++) {
for (int j2 = 0; j2 < m; j2++) {
if (a[i + i2][j + j2] == '.' && t[i2 + 1][j2 + 1] == '*') {
return;
}
}
}
}
}
for (int i = 1; i < n - m; i++) {
for (int j = 1; j < n - m; j++) {
for (int i2 = 0; i2 < m; i2++) {
for (int j2 = 0; j2 < m; j2++) {
t3[i + i2][j + j2] = a[i + i2][j + j2];
}
}
}
}
}
void xuan2zhuan3() {
for (int i = 1, i2 = 1; i <= n; i++, i2++) {
for (int j = 1, j2 = n; j <= n; j++, j2--) {
t2[i2][j2] = b[i][j];
}
}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
b[i][j] = t2[i][j];
}
}
}
int main() {
cin >> T;
for (int i = 1; i <= T; i++) {
memset(t, ' ', sizeof(t));
memset(t2, ' ', sizeof(t2));
memset(a, ' ', sizeof(a));
memset(b, ' ', sizeof(b));
memset(t3, ' ', sizeof(t3));
cin >> n;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
cin >> a[i];
// t3[i][j]='.';
}
}
cin >> m;
for (int i = 1; i <= m; i++) {
for (int j = 1; j <= m; j++) {
cin >> b[i][j];
t[i][j] = b[i][j];
}
}
for (int i = 0; i <= 3; i++) {
slove(), xuan2zhuan3();
}
if (!check()) {
cout << "NO" << endl;
} else {
cout << "YES" << endl;
}
}
return 0;
}