#include <stdio.h>
int main()
{
  int n, m, i, j;
  int arr1[10][10] = {0};
  int arr2[10][10] = {0};
  scanf("%d %d", &n, &m);
  for(i=0; i<n; i++)
    for(j=0; j<m; j++)
       scanf("%d ", &arr1[i][j]);  //输入第一个数组
  for(i=0; i<n; i++)
    for(j=0; j<m; j++)
       scanf("%d ", &arr2[i][j]);   //输入第二个数组
  int cnt = 0;
  for(i=0, j=0; i<n &&j<n; i++,j++)
    for(int k=0; k<m; k++)
       if(arr1[i][k] == arr2[j][k])   //逐个元素比较
          cnt++;       //相等时计数+1
  if(cnt == n*m)
       printf("Yes\n");    //计数为数组元素个数时表示完全相同
    else 
       printf("No\n");
  return 0;
}