#include <iostream>
#include <string>
using namespace std;
const int N = 1009;
int a[N][N];
int b[N][N];
int main()
{
int n,m,p,q;
int test;
cin >> test;
for(int t = 1; t <= test; ++t){
bool finAns = false;
cin >> n >> m;
for(int i = 0; i < n; ++i){
string s;
cin>>s;
for(int j = 0; j < s.size(); ++j){
a[i][j] = s[j] - '0';
}
}
cin >> p >> q;
for(int i = 0; i < p; ++i){
string s;
cin>>s;
for(int j = 0; j < s.size(); ++j){
b[i][j] = s[j] - '0';
}
}
for(int i = 0; i < n; ++i){
for(int j = 0; j < m; ++j){
if( i + p > n || j + q > m){
continue;
}
bool check = true;
for(int k = 0; k < p; ++k){
for(int z = 0; z < q; ++z){
if( a[i + k][j + z] != b[k][z]){
k = n + m;
check = false;
break;
}
}
}
if( check ){
finAns = true;
i = j = n+m;
}
}
}
if( finAns){
cout<< "YES"<<endl;
} else {
cout<<"NO"<<endl;
}
}
// your code goes here
return 0;
}