#include <stdio.h>

int main() {
   int n,m;
   int flag=0;  //标记
   scanf("%d %d",&n,&m);
   int arr1[n][m];
   int arr2[n][m];
   for(int i=0;i<n;i++){
    for(int j=0;j<m;j++){
        scanf("%d ",&arr1[i][j]);
    }
   }
   for(int i=0;i<n;i++){
    for(int j=0;j<m;j++){
        scanf("%d ",&arr2[i][j]);
    }
   }
for(int i=0;i<n;i++){
    for(int j=0;j<m;j++){
        if(arr1[i][j]==arr2[i][j]){
            flag++;  //矩阵中相同位置的元素相等,则标记加一
        }
    }
}
if(flag==n*m){  //根据标记数判断两个矩阵是否相等
    printf("Yes\n");
}else{
    printf("No\n");
}
}