#bcu302018a. [bcu30_2018_a]Ball

[bcu30_2018_a]Ball

题目描述

现有N个球,分别写有整数A1,A2,...,ANA_1, A_2, ..., A_N

可以对这些球执行以下操作:

  1. 将两个球碰在一起。如果两个球上分别写有整数 xxyy,那么这两个球会消失,取而代之的是一个新球,上面写有整数x×yx × y。新生成的球可以被放在任意位置。
  2. 敲击一个球,并同时念出一个大于等于2的整数。如果球上写有整数xx,而你念出的整数为yy,并且xx可以被yy整除,那么被敲击的球会消失,而会出现两个新球,分别写有yyx/yx / y。新生成的两个球可以分别被放在任意位置。

请判断是否可以通过执行任意次数的这些操作,将球的数量变为MM,并且每个球上的整数变为B1,B2,...,BMB_1, B_2, ..., B_M

输入格式

第一行一个正整数NN,代表球的个数;

第二行共有NN个正整数,分别代表A1,A2,...,ANA_1, A_2, ..., A_N

第三行一个正整数MM,代表最终球的数量;

第四行共有MM个正整数,分别代表B1,B2,...,BMB_1, B_2, ..., B_M

输出格式

如果可以通过执行任意次数的这些操作,将球的数量变为MM,并且每个球上的整数变为B1,B2,...,BMB_1, B_2, ..., B_M,则输出Yes,否则输出No

输入输出样例

样例输入 #1

4
3 4 6 8
5
2 2 4 6 6

样例输出 #1

Yes

样例输入 #2

7
2 3 4 5 6 8 9
7
2 3 4 5 6 8 9

样例输出 #2

Yes

样例输入 #3

5
2 3 5 6 8
9
2 3 4 4 4 4 5 6 7

样例输出 #3

No

说明/提示

约束条件

$1 <= N,M <= 9,2 <= A_i,B_i <= 9,A_i <= A_{i+1},B_i <= B_{i+1}$

样例解释 1

可以通过以下操作实现目标:

  1. 对写有 88 的球进行敲击,同时念出 22,生成写有 2244 的两个球。此时球的数量为 55,球上的数字分别为 2,3,4,4,62, 3, 4, 4, 6
  2. 对写有 44 的球进行敲击,同时念出 22,生成两个写有 22 的球。此时球的数量为 66,球上的数字分别为 2,2,2,3,4,62, 2, 2, 3, 4, 6
  3. 碰撞写有 22 的球和写有 33 的球。此时球的数量为 55,球上的数字分别为2,2,4,6,6 2, 2, 4, 6, 6

样例解释 2

不需要进行任何操作即可实现目标。