#J10001. 主串

主串

题目描述

给定一个大小为 MM 的字符串集合 S={S1,…,SM}S=\{S_1, \dots, S_M\},这些字符串互不相同且均由小写英文字母组成。

你需要判断集合 SS 中的每个字符串 Sj (1≤j≤M)S_j\ (1 \le j \le M) 能否作为“主串”。 一个字符串 SjS_j 能够成为“主串”,当且仅当它满足以下所有条件:

  1. 该字符串的长度必须恰好为 NN;
  2. 存在 NN 个从集合 SS 中选出的“副串” T1,T2,…,TNT_1, T_2, \dots, T_N(可以重复选择同一字符串);
  3. 对于每个 i (1≤i≤N)i\ (1 \le i \le N),副串 TiT_i 的长度必须等于 AiA_i;
  4. 对于每个 i (1≤i≤N)i\ (1 \le i \le N),副串 TiT_i 的第 BiB_i 个字符必须与主串的第 ii 个字符相同。

请对于每个 SjS_j,输出它是否能作为“主串”。

输入格式

第一行包含一个整数 NN。

接下来 NN 行,每行包含两个整数 Ai,BiA_i, B_i —— 描述对第 ii 个副串的长度和字符位置要求。

接下来一行包含一个整数 MM —— 字符串集合的大小。

接下来 MM 行,每行包含一个字符串 SjS_j。

输出格式

输出共 MM 行。

第 jj 行(1≤j≤M1 \le j \le M)对应字符串 SjS_j。如果 SjS_j 满足成为“主串”的条件,输出 Yes;否则输出 No。

样例输入 1

5
5 3
5 2
4 1
5 1
3 2
8
retro
chris
itchy
tuna
crab
rock
cod
ash

样例输出 1

Yes
Yes
No
No
No
No
No
No

样例输入 2

5
5 1
5 2
5 3
5 4
5 5
8
retro
chris
itchy
tuna
crab
rock
cod
ash

样例输出 2

Yes
Yes
Yes
No
No
No
No
No

说明

样例解释

在第一个样例中,考虑将 retro 作为主串:

  • 它的长度为 55,满足条件 1。
  • 我们可以分别选择 chris, retro, tuna, retro, cod 作为 55 个副串:
    • 第 11 个副串 chris 长度为 55,其第 33 个字符是 r,等于 retro 的第 11 个字符;
    • 第 22 个副串 retro 长度为 55,其第 22 个字符是 e,等于 retro 的第 22 个字符;
    • 第 33 个副串 tuna 长度为 44,其第 11 个字符是 t,等于 retro 的第 33 个字符;
    • 第 44 个副串 retro 长度为 55,其第 11 个字符是 r,等于 retro 的第 44 个字符;
    • 第 55 个副串 cod 长度为 33,其第 22 个字符是 o,等于 retro 的第 55 个字符。
  • 因此 retro 满足所有条件,对应输出 Yes。

同样地,如果以 chris 作为主串,选择 itchy, chris, rock, itchy, ash 作为 55 个副串,也满足所有条件,输出 Yes。其余字符串不满足条件,输出 No。

数据范围

对于所有测试点,保证:

  • 1≤N≤101 \le N \le 10。
  • 1≤Bi≤Ai≤10 (1≤i≤N)1 \le B_i \le A_i \le 10\ (1 \le i \le N)。
  • 1≤M≤200,0001 \le M \le 200,000。
  • Sj (1≤j≤M)S_j\ (1 \le j \le M) 均由小写英文字母组成,且长度 1≤∣Sj∣≤101 \le |S_j| \le 10。
  • 所有的 SjS_j 互不相同。