题目描述
wjk主动帮助damn来完成一个任务。
这次,wjk需要帮助damn解决以下问题:
有两个长度为 ()的整数数组 和 。
结果发现数组 只包含集合中的元素。
wjk可以任意多次执行下面的操作序列:
选择任意一对索引,使得 ()。
可以多次选择同一对索引,将 添加到 中。
换句话说,选择就意味着数组中的第 个元素 = 。
例如,如果给定数组为:,那么通过一次操作,在范围内
选择,->
选择,->
选择,->。
wjk想知道是否有可能对数组 进行一定数量( 或更多)的运算,使其与数组 相等。
你能帮助他吗?
输入
每个测试都包含多个测试用例。
第一行包含测试用例的数量 ()。
测试用例说明如下。
每个测试用例的第一行都包含一个整数 ()——数组的长度。
每个测试用例的第二行包含 个整数 ()——数组 的元素。
每个测试用例的第三行包含 个整数 ()——数组 的元素。
元素之间可能存在重复。
保证所有测试用例中 的总和不超过 。
输出
对于每个测试用例,
如果可以通过执行所述操作使数组 a 和 b 相等,则输出"YES ";
如果不可能,则输出一行包含 "NO "。
5
3
1 -1 0
1 1 -2
3
0 1 1
0 2 2
2
1 0
1 41
2
-1 0
-1 -41
5
0 1 -1 1 -1
1 1 -1 1 -1
提示
在第一个测试用例中,我们可以两次选择 (i,j)=(2,3),之后再两次选择 (i,j)=(1,2)。这些操作将转换 [1,−1,0]→[1,−1,−2]→[1,1,−2]
在第二个测试用例中,我们无法在第二个位置上选择相等的数字。
在第三个测试案例中,我们可以选择 (i,j)=(1,2),41 次。
第四个测试案例也是如此。
在最后一种情况下,不可能使数组 a 等于数组 b。