CF2131C Make it Equal

Description

Given two [multisets](https://en.wikipedia.org/wiki/Multiset) $$$S$$$ and $$$T$$$ of size $$$n$$$ and a positive integer $$$k$$$, you may perform the following operations any number (including zero) of times on $$$S$$$: - Select an element $$$x$$$ in $$$S$$$, and remove one occurrence of $$$x$$$ in $$$S$$$. Then, either insert $$$x+k$$$ into $$$S$$$, or insert $$$|x-k|$$$ into $$$S$$$. Determine if it is possible to make $$$S$$$ equal to $$$T$$$. Two multisets $$$S$$$ and $$$T$$$ are equal if every element appears the same number of times in $$$S$$$ and $$$T$$$.

Input Format

Each test contains multiple test cases. The first line contains an integer $$$t$$$ ($$$1 \\le t \\le 10^4$$$) — the number of test cases. The description of the test cases follows. The first line contains two integers $$$n$$$ and $$$k$$$ ($$$1 \\le n \\le 2 \\cdot 10^5$$$, $$$ 1 \\le k \\le 10^9$$$) — the size of $$$S$$$ and the constant, respectively. The second line contains $$$n$$$ integers $$$S\_1,S\_2,\\ldots,S\_n$$$ ($$$0 \\le S\_i \\le 10^9$$$) — the elements in $$$S$$$. The third line contains $$$n$$$ integers $$$T\_1,T\_2,\\ldots,T\_n$$$ ($$$0 \\le T\_i \\le 10^9$$$) — the elements in $$$T$$$. It is guaranteed that the sum of $$$n$$$ over all test cases does not exceed $$$2 \\cdot 10^5$$$.

Output Format

For each test case, output "YES" if it is possible to make $$$S$$$ equal to $$$T$$$, and "NO" otherwise. You can output the answer in any case (upper or lower). For example, the strings "yEs", "yes", "Yes", and "YES" will be recognized as positive responses.

Explanation/Hint

In the first test case, we can remove one occurrence of $$$1$$$ from $$$S$$$ and insert $$$|1-k|=|1-3|=2$$$ into $$$S$$$, making $$$S$$$ equal to $$$T$$$. In the second test case, we can remove one occurrence of $$$4$$$ from $$$S$$$ and insert $$$4+k=4+8=12$$$ into $$$S$$$, making $$$S$$$ equal to $$$T$$$. In the last test case, we can show that it is impossible to make $$$S$$$ equal to $$$T$$$.