#CF1687C. 早苗与巨型机器人

早苗与巨型机器人

C. 早苗与巨型机器人
每次测试时间限制:1 秒
每次测试内存限制:256 兆字节

“难道真的是这样吗?!那个只存在于我想象中的机器人?!那台巨大人形步行机器人?!!
—— 东风谷早苗”

早苗制造了一台巨型机器人——非想天则,但它的某个部分出了故障。更糟糕的是,早苗不知道如何让它停下来,她只能边修理边调整机器人的状态。

机器人的状态可以用一个长度为 nn 的整数数组来表示。初始时,机器人的状态为 aa。她希望将其变为状态 bb

作为一名出色的程序员,早苗掌握了复制粘贴的技巧。在一次操作中,她可以从给定的若干区间中选择一个区间,将 bb 中对应区间的元素复制并粘贴到机器人的相同位置,覆盖该位置原本的状态。但为了避免机器人失控,她必须保证每次复制操作后,数组 aa 的总和保持不变。形式化地说,早苗可以选择区间 [l,r][l, r],并将 ai=bia_i = b_ilirl \le i \le r),前提是操作后数组 aa 的总和与操作前相同。

请判断早苗是否可以通过任意次(可能为零次)操作,将机器人从初始状态 aa 变成目标状态 bb


输入
每个测试点包含多个测试用例。第一行包含一个整数 tt1t21041 \le t \le 2 \cdot 10^4)——测试用例的数量。接下来是每个测试用例的描述。

每个测试用例的第一行包含两个整数 n,mn, m2n21052 \le n \le 2 \cdot 10^51m21051 \le m \le 2 \cdot 10^5)——数组 aabb 的长度以及可选择的区间数量。

第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n1ai1091 \le a_i \le 10^9)——初始状态 aa

第三行包含 nn 个整数 b1,b2,,bnb_1, b_2, \dots, b_n1bi1091 \le b_i \le 10^9)——目标状态 bb

接下来 mm 行,每行包含两个整数 li,ril_i, r_i1li<rin1 \le l_i < r_i \le n)——早苗可以复制粘贴的区间。

数据保证所有测试用例的 nn 之和与 mm 之和均不超过 21052 \cdot 10^5


输出
对于每个测试用例,如果早苗可以将 aa 变为 bb,输出 "YES",否则输出 "NO"

输出大小写不限(例如 "yEs""yes""Yes" 均视为肯定回答)。


示例
输入

2
5 2
1 5 4 2 3
3 2 5 4 1
1 3
2 5
5 2
1 5 4 2 3
3 2 4 5 1
1 2
2 4

输出

YES
NO

样例解释
测试用例 1:
一种可能的转换方式:

  1. 选择区间 [1,3][1,3],操作后 a=[3,2,5,2,3]a = [3, 2, 5, 2, 3]
  2. 选择区间 [2,5][2,5],操作后 a=[3,2,5,4,1]=ba = [3, 2, 5, 4, 1] = b

测试用例 2:
可以证明无法将 aa 变为 bb