#include <stdio.h> #include<stdlib.h> int main() { int n, m; scanf("%d %d", &n, &m); int** arr1 = (int**)malloc(n * sizeof(int*)); for (int a = 0; a < n; a++) { arr1[a] = (int*)malloc(m * sizeof(int)); } int** arr2 = (int**)malloc(n * sizeof(int*)); for (int a = 0; a < n; a++) { arr2[a] = (int*)malloc(m * sizeof(int)); } for (int b = 0; b < n; b++) { for (int c = 0; c < m; c++) { scanf("%d", &arr1[b][c]); } } for (int b = 0; b < n; b++) { for (int c = 0; c < m; c++) { scanf("%d", &arr2[b][c]); } } int count = 0; for (int f = 0; f < n; f++) { for (int g = 0; g < m; g++) { if (arr1[f][g] == arr2[f][g])count++; } } if(count==m*n)printf("Yes\n"); else printf("No\n"); for (int h = 0; h < n; h++) { free(arr1[h]); free(arr2[h]); } free(arr1); free(arr2); return 0; }