Table
Let us consider an array of size n
×m
filled with pair wise different integers. The following operations are allowed on the array:
Interchanging two rows,
Interchanging two columns.
We call two arrays alike if one of them can be obtained from the other by a sequence of the above two operations. Write a program that for a given set of pairs of arrays tells which pairs are alike.
Input
The first line of the standard input contains an integer t
(1 ≤ t ≤ 10
) denoting the number of test cases which represent the number of pairs of arrays. The first line of each test case holds two integers n
and m
(1 ≤ n ≤ 1000
and **1 **≤ m ≤ 1000
), separated by a single space. n
and m
denote the number of rows and columns of the arrays, respectively. The next n
lines represent n
rows of the first array and the following n
lines represent n
rows of the second array. Each line holds m array items where each values between -1000000
and 1000000 inclusive. All numbers occurring in either of the arrays are pair wise different.
Output
Your program should print out t
lines to the standard output. The k
-th of these should hold one word: "YES" if the arrays of the k
-th pair are alike, or "NO" otherwise (in capital letter only).