#include <stdio.h>

int main() 
{
    int row = 0;
    int col = 0;
    while (~scanf("%d %d", &row, &col))
    {
        int arr_1[row][col];
        int arr_2[row][col];
        //输入
        for (int i = 0; i < 2 * row; i++)
        {
            for (int j = 0; j < col; j++)
            {
                if (i < row)//向数组 1 中输入元素
                {
                    scanf("%d", &arr_1[i][j]);
                }
                else//向数组 2 中输入元素
                {
                    scanf("%d", &arr_2[i - row][j]);
                }
            }
        }
        //遍历两个数组 , 判断是否相等
        int flag = 1;//旗帜
        for (int i = 0; i < row; i++)
        {
            for (int j = 0; j < col; j++)
            {
                if (arr_1[i][j] != arr_2[i][j])//两个数组 只要有任意 对应的元素不相等,直接退出
                {
                    flag = 0;
                    goto here;
                }
            }
        }
        here:
        if (flag == 0)
        {
            printf("No\n");
        }
        else 
        {
            printf("Yes\n");
        }
    }
    return 0;
}