Рамзес пришел в университет на пару по практике алгоритмов, и его любимый преподаватель, который является довольно известным программистом, задал ему такую задачу.
Даны две матрицы \(A\) и \(B\) размера \(n \times m\), каждая состоит только из \(0\) и \(1\). Рамзес может сколько угодно раз применять к матрице \(A\) следующую операцию: взять любую подматрицу матрицы \(A\), содержащую хотя бы две строки и два столбца, и инвертировать значение в её углах (то есть все углы подматрицы, в которых раньше стоял \(0\), после операции будут содержать \(1\), а все углы подматрицы, в которых раньше стояла \(1\), после операции будут содержать \(0\)). Требуется ответить, можно ли из матрицы \(A\) получить матрицу \(B\).
Пример операции. Выбранная подматрица выделена голубым и желтым, ее углы выделены желтым. Так как Рамзес не хочет выполнять эти операции вручную, он просит вас ответить на этот вопрос.
Подматрицей матрицы \(M\) называется матрица, образованная элементами на пересечении множества строк с номерами \(x_1, x_1+1, \ldots, x_2\) матрицы \(M\) и множества столбцов с номерами \(y_1, y_1+1, \ldots, y_2\) матрицы \(M\), где \(x_1, x_2, y_1, y_2\) — крайние строки и столбцы подматрицы. Иными словами, подматрица — это набор ячеек исходной матрицы, которые образуют сплошной (без пустот) прямоугольник со сторонами, параллельными сторонам исходной матрицы, углами подматрицы являются клетки \((x_1, y_1)\), \((x_1, y_2)\), \((x_2, y_1)\), \((x_2, y_2)\), где клетка \((i,j)\) обозначает клетку на пересечении \(i\)-й строки и \(j\)-го столбца.
Выходные данные
Выведите «Yes» (без кавычек), если вышеуказанными действиями можно превратить матрицу \(A\) в матрицу \(B\), и «No» (без кавычек), если нельзя. Вы можете выводить каждую букву в любом регистре (строчную или заглавную).