#P1696C. Fishingprince Plays With Array

    ID: 668 远端评测题 2000ms 512MiB 尝试: 71 已通过: 0 难度: 10 上传者: 标签>constructive algorithmsgreedyimplementationmath*1400

Fishingprince Plays With Array

题目描述

给定一个长度为 nn 的数组 aa 、一个长度为 kk 的数组 bb 和一个数字 mm,现在对数组 aa 进行以下操作:

  • 选择数组 aa 中一个 mm 的倍数 aia_i 替换成 mmaim\dfrac{a_i}{m}
  • 选择数组 aamm 个相同的数字 ai,ai+1,,ai+m1a_i,a_{i+1},\dots,a_{i+m-1} 替换成 maim\cdot a_i

请问能否把数组 aa 变成数组 bb

输入

每个测试包含多个测试用例。第一行包含测试用例的数量 tt ( 1t1041 \le t \le 10^4 )。测试用例说明如下。

每个测试用例的第一行包含两个整数 nnmm1n51041\le n\le 5\cdot 10^4 , 2m1092\le m\le 10^9 )。

每个测试用例的第二行包含 nn 个整数 a1,a2,,ana_1,a_2,\ldots,a_n1ai1091\le a_i\le 10^9 )。( 1ai1091\le a_i\le 10^9 ).

每个测试用例的第三行包含一个整数 kk ( 1k51041\le k\le 5\cdot 10^4 )。

每个测试用例的第四行包含 kk 个整数 b1,b2,,bkb_1,b_2,\ldots,b_k ( 1bi1091\le b_i\le 10^9 )。

保证所有测试用例中 n+kn+k 的总和不超过 21052\cdot 10^5

输出

对于每个测试用例,如果可以将 aa 变成 bb ,则打印 "是",否则打印 "否"。您可以打印每个字母的任何大小写(大写或小写)。

样例 #1

样例输入 #1

5
5 2
1 2 2 4 2
4
1 4 4 2
6 2
1 2 2 8 2 2
2
1 16
8 3
3 3 3 3 3 3 3 3
4
6 6 6 6
8 3
3 9 6 3 12 12 36 12
16
9 3 2 2 2 3 4 12 4 12 4 12 4 12 4 4
8 3
3 9 6 3 12 12 36 12
7
12 2 4 3 4 12 56

样例输出 #1

Yes
Yes
No
Yes
No

提示

在示例的第一个测试用例中,我们可以使用 i=2i=2 进行第二次操作: [1,2,2,4,2][1,4,4,2][1,\color{red}{2,2},4,2]\to [1,\color{red}{4},4,2] .

在示例的第二个测试用例中,我们可以:

  • i=2i=2 进行第二次操作: $[1,\color{red}{2,2},8,2,2]\to [1,\color{red}{4},8,2,2]$ .
  • i=4i=4 进行第二次操作: [1,4,8,2,2][1,4,8,4][1,4,8,\color{red}{2,2}]\to [1,4,8,\color{red}{4}] .
  • i=3i=3 进行第一次操作: [1,4,8,4][1,4,4,4,4][1,4,\color{red}{8},4]\to [1,4,\color{red}{4,4},4] .
  • i=2i=2 进行第二次操作: [1,4,4,4,4][1,8,4,4][1,\color{red}{4,4},4,4]\to [1,\color{red}{8},4,4] .
  • i=3i=3 进行第二次操作: [1,8,4,4][1,8,8][1,8,\color{red}{4,4}]\to [1,8,\color{red}{8}] .
  • i=2i=2 进行第二次运算: [1,8,8][1,16][1,\color{red}{8,8}]\to [1,\color{red}{16}] .