서로 다른 정수로 채워진 n×m 크기의 배열이 있습니다. 이 배열에는 다음 두 가지 연산을 적용할 수 있습니다.
어떤 배열에 위 연산들을 여러 번 적용하여 다른 배열을 만들 수 있으면, 두 배열이 서로 닮았다고 합니다.
여러 쌍의 배열이 주어질 때, 각 쌍의 두 배열이 서로 닮았는지 판별하는 프로그램을 작성하세요.
첫째 줄에 배열 쌍의 개수 t (1≤t≤10)가 주어집니다. 이어서 각 배열 쌍의 정보가 차례로 주어집니다.
각 쌍의 정보는 먼저 두 정수 n과 m (1≤n,m≤1000)이 공백 하나로 구분되어 한 줄에 주어지는 것으로 시작합니다. 여기서 n과 m은 두 배열이 공통으로 가지는 행의 수와 열의 수입니다.
이어지는 n개의 줄에는 첫 번째 배열이 주어집니다. 그중 i번째 줄에는 첫 번째 배열의 i번째 행에 있는 m개의 정수 aij (−106≤aij≤106)가 공백 하나로 구분되어 주어집니다.
그다음 n개의 줄에는 두 번째 배열이 같은 형식으로 주어지며, 그 i번째 줄의 정수들을 bij라고 합니다.
한 배열 안에 등장하는 모든 수는 서로 다릅니다.
각 배열 쌍마다 한 줄씩, 모두 t개의 줄을 출력합니다. k번째 줄에는 k번째 쌍의 두 배열이 서로 닮았으면 TAK을, 그렇지 않으면 NIE를 출력합니다. (TAK과 NIE는 각각 "예"와 "아니오"를 뜻합니다.)
행이나 열을 맞바꾸는 연산은 "같은 행에 있다" 또는 "같은 열에 있다"라는 관계를 그대로 보존합니다. 따라서 두 배열이 닮으려면, 먼저 두 배열에 등장하는 값들의 집합이 같아야 하고, 한 배열에서 같은 행(또는 같은 열)에 있는 값들은 다른 배열에서도 모두 같은 행(또는 같은 열)에 있어야 합니다. 이 조건을 이용해 행끼리, 열끼리의 대응 관계가 모순 없이 정해지는지 확인하면 닮음 여부를 판별할 수 있습니다.