Таблица
Рассмотрим массив размером n
×m
, заполненный попарно различными целыми числами. Разрешены следующие операции над массивом:
Перестановка двух строк,
Перестановка двух столбцов.
Мы называем два массива похожими, если один из них можно получить из другого с помощью последовательности вышеуказанных операций. Напишите программу, которая для заданного набора пар массивов определяет, какие пары похожи.
Входные данные
Первая строка стандартного ввода содержит целое число t
(1 ≤ t ≤ 10
), обозначающее количество тестов, представляющих количество пар массивов. Первая строка каждого теста содержит два целых числа n
и m
(1 ≤ n ≤ 1000
и 1 ≤ m ≤ 1000
), разделённых пробелом. n
и m
обозначают количество строк и столбцов массивов соответственно. Следующие n
строк представляют n
строк первого массива, а следующие n
строк представляют n
строк второго массива. Каждая строка содержит m
элементов массива, где каждое значение находится в диапазоне от -1000000
до 1000000 включительно. Все числа, встречающиеся в любом из массивов, попарно различны.
Выходные данные
Ваша программа должна вывести t
строк в стандартный вывод. k
-я из этих строк должна содержать одно слово: "YES", если массивы k
-й пары похожи, или "NO" в противном случае (только заглавными буквами).