У вас была матрица \(a\) размера \(n\) на \(m\), содержащая перестановку целых чисел от \(1\) до \(n \cdot m\).
Перестановкой из \(n\) целых чисел называется массив, содержащий все числа от \(1\) до \(n\) ровно один раз. Например, массивы \([1]\), \([2, 1, 3]\), \([5, 4, 3, 2, 1]\) являются перестановками, а массивы \([1, 1]\), \([100]\), \([1, 2, 4, 5]\) — нет.
Матрица содержит перестановку, если при выписывании всех её элементов полученный массив является перестановкой. Матрицы \([[1, 2], [3, 4]]\), \([[1]]\), \([[1, 5, 3], [2, 6, 4]]\) содержат перестановки, а матрицы \([[2]]\), \([[1, 1], [2, 2]]\), \([[1, 2], [100, 200]]\) — нет.
За одну операцию вы можете совершить одно из двух следующих действий:
- выбрать столбец \(c\) и столбец \(d\) (\(1 \le c, d \le m\), \(c \ne d\)) и поменять эти столбцы местами;
- выбрать строку \(c\) и строку \(d\) (\(1 \le c, d \le n\), \(c \ne d\)) и поменять эти строки местами.
Вы можете совершить любое количество операций.
Вам даны исходная матрица \(a\) и матрица \(b\). Ваша задача — определить, можно ли с помощью данных операций сделать из матрицы \(a\) матрицу \(b\).
Выходные данные
Для каждого набора входных данных выведите «YES», если вторая матрица может быть получена из первой, и «NO» в противном случае.
Вы можете выводить каждую букву в любом регистре (строчную или заглавную). Например, строки «yEs», «yes», «Yes» и «YES» будут приняты как положительный ответ.
Примечание
Во втором примере исходная матрица выглядит так:
\( \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} \)
При обмене строк \(1\) и \(2\) местами она станет такой:
\( \begin{pmatrix} 3 & 4 \\ 1 & 2 \end{pmatrix} \)
При обмене столбцов \(1\) и \(2\) местами она станет равна матрице \(b\):
\( \begin{pmatrix} 4 & 3 \\ 2 & 1 \end{pmatrix} \)