import java.io.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] nm = br.readLine().split(" ");
        int n = Integer.parseInt(nm[0]);
        int m = Integer.parseInt(nm[1]);
        String[][] array1 = new String[n][m];
        String[][] array2 = new String[n][m];
        for (int i = 0; i < n * 2; i++) {
            String[] arr = br.readLine().split(" ");
            if (i < n) {
                for (int j = 0; j < m; j++) {
                    array1[i][j] = arr[j];
                }
            } else {
                for (int j = 0; j < m; j++) {
                    array2[i - n][j] = arr[j];
                }
            }
        }
        System.out.print(judge(array1, array2, n, m));
    }
    
    public static String judge(String[][] arr1, String[][] arr2, int row, int column) {
        for (int i = 0; i < row; i++) {
            for (int j = 0; j < column; j++) {
                if (!arr1[i][j].equals(arr2[i][j])) {
                    return "No";
                }
            }
        }
        return "Yes";
    }
}