A29151.序列合拆

普及-

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

YuiliceYuilice拥有一个长度为nn的序列a1,a2,a3ana_1,a_2,a_3\dots a_n,以及一个正整数mm,你可以对该序列进行以下两种操作。

  1. 在序列当中的整数aia_i,若整数ai>ma_i > m且满足条件ai%m=0a_i \% m = 0aia_i可以被均等的拆分为mm份,每份数值为aim\frac{a_i}{m},组成一个子序列从而替代aia_i原先的位置。
  2. 在序列当中若存在一段连续子序列[l,r][l,r]满足al=al+1=ara_l = a_{l+1} = \dots a_r,并且该序列长度为mm,那么可以选中该连续子序列[l,r][l,r]合并为一个整数ai=alma_i = a_l * m从而替代子序列[l,r][l,r]

现在YuiliceYuilice给出一个新的序列bb,求解序列aa是否可以通过以上两种操作变为bb,若可以输出 Yes,反之输出 No

注:本题包含多组测试样例

输入格式

第一行输入一个整数t(1t104)t(1 \leq t \leq 10^4) - 代表共有T组样例进行测试。

每组样例的输入格式如下:

第一行输入两个整数n,m(1n5×104,2m109)n,m(1 \leq n \leq 5 \times 10^{4} , 2 \leq m \leq 10^9) - 代表序列aa的长度与mm的取值。
第二行输入nn个整数ai(1ai109)a_i(1 \leq a_i \leq 10^9) - 代表序列a的取值
第三行输入一个整数k(1k5×104)k(1 \leq k \leq 5 \times 10^4) - 代表序列bb的长度
第四行输出kk个整数bi(1bi109)b_i(1 \leq b_i \leq 10^9) - 代表序列bb的取值

题目保证在每个测试点当中,nn的取值总和不超过2×1052 \times 10^5

输出格式

针对于每组样例 - 输出 YesNo,独占一行。

输入输出样例

  • 输入#1

    5
    3 2
    2 2 2
    2
    4 2
    3 2
    2 2 2
    1
    6
    8 2
    1 1 1 1 1 1 1 1
    4
    2 2 2 2
    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
    No
    Yes
    Yes
    No

说明/提示

【样例解释】

  1. 序列aa合并a1,a2a_1,a_2变为44,即可相等。
  2. 序列aa合并a1,a2a_1,a_2变为44,序列变为4,2{4,2},不满足ai=ai+1a_i = a_{i+1},无法合并为66
首页