#862. 主串

主串

题目描述

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

你需要判断集合 SS 中的每个字符串 Sj (1jM)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 (1iN)i\ (1 \le i \le N),副串 TiT_i 的长度必须等于 AiA_i
  4. 对于每个 i (1iN)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 行(1jM1 \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

数据范围

对于所有测试点,保证:

  • 1N101 \le N \le 10
  • 1BiAi10 (1iN)1 \le B_i \le A_i \le 10\ (1 \le i \le N)
  • 1M200,0001 \le M \le 200,000
  • Sj (1jM)S_j\ (1 \le j \le M) 均由小写英文字母组成,且长度 1Sj101 \le |S_j| \le 10
  • 所有的 SjS_j 互不相同。