#CF2118D1. 红灯绿灯

    ID: 7107 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 4 上传者: 标签>其他构造动态规划数论图结构搜索DFS*1700

红灯绿灯

D1. 红灯, 绿灯 (简单版) 每次测试时间限制:4 秒 内存限制:512 兆字节

本题为简单版本。唯一区别在于 kk 的限制以及所有测试用例中 nnqq 的总和限制。只有当两个版本都解答正确时,你才能进行 Hack 操作。

你被给出一条长度为 101510^{15} 的带子,以及一个常数 kk。带子上恰好有 nn 个单元格装有交通灯;每个灯有位置 pip_i 和初始延迟 did_i,且满足 di<kd_i < k。第 ii 个交通灯的工作方式如下:

  • lk+dil \cdot k + d_i 秒时(其中 ll 为整数),它显示红灯;
  • 其他时间显示绿灯。

在第 00 秒,你初始位于带子的某个单元格,面向正方向。每一秒,你按顺序执行以下动作:

  1. 如果当前单元格有红灯,则你转身(掉头)。
  2. 朝着当前面对的方向移动一个单元格。

你会得到 qq 个不同的起始位置。对于每个起始位置,判断你是否能在 1010010^{100} 秒内最终离开带子。

输入 每个测试点包含多个测试用例。第一行输入一个整数 tt (1t5001 \le t \le 500),表示测试用例的数量。接下来是每个测试用例的描述。

每个测试用例的第一行包含两个整数 nn, kk (1n5001 \le n \le 500, 1k5001 \le k \le 500) — 交通灯的数量和周期长度。

每个测试用例的第二行包含 nn 个整数 p1,p2,,pnp_1, p_2, \dots, p_n (1p1<p2<<pn10151 \le p_1 < p_2 < \dots < p_n \le 10^{15}) — 交通灯的位置。

每个测试用例的第三行包含 nn 个整数 d1,d2,,dnd_1, d_2, \dots, d_n (0di<k0 \le d_i < k) — 交通灯的延迟。

每个测试用例的第四行包含一个整数 qq (1q5001 \le q \le 500) — 查询的数量。

每个测试用例的第五行包含 qq 个整数 a1,a2,,aqa_1, a_2, \dots, a_q (1ai10151 \le a_i \le 10^{15}) — 起始位置。

保证所有测试用例中 nnqq 的总和不超过 500500

输出 对于每个测试用例,输出 qq 行。每行应包含 "YES"(如果你最终会离开带子)或 "NO"(否则)。你可以以任意大小写输出答案(例如 "yEs""yes""Yes""YES" 均视为肯定回答)。

示例

输入

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

输出

YES
NO
YES
YES
YES
YES
NO
NO
YES
YES
NO
NO
YES
NO
YES

说明 在第一个测试用例中,起始位置 112233 的情况如下(图略)。

在第二个测试用例中,起始位置 22 的情况如下(图略)。