#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;
}