#include<iostream>
using namespace std;
int a_p, a_q;
int b_p, b_q;
int c_p, c_q;
int main(){
while(cin >> a_p >> a_q){
if(a_p == 0 && a_q == 0){
break;
}
int A[a_p][a_q];
for(int i = 0; i < a_p; i++){
for(int j = 0; j < a_q; j++){
cin >> A[i][j];
}
}
cin >> b_p >> b_q;
int B[b_p][b_q];
for(int i = 0; i < b_p; i++){
for(int j = 0; j < b_q; j++){
cin >> B[i][j];
}
}
cin >> c_p >> c_q;
int C[c_p][c_q];
for(int i = 0; i < c_p; i++){
for(int j = 0; j < c_q; j++){
cin >> C[i][j];
}
}
if(a_q != b_p || a_p != c_p || b_q != c_q){
cout << "No" << endl;
continue;
}
bool ismatch = true;
for(int i = 0; i < c_p; i++){
for(int j = 0; j < c_q; j++){
int num = 0;
for(int k = 0; k < a_q; k++){
num += A[i][k] * B[k][j];
}
if(num != C[i][j]){
ismatch = false;
break;
}
}
}
cout << (ismatch ? "Yes" : "No") << endl;
}
return 0;
}
//presented by 大吉大利,今晚AC