I. 完美解场

传统 1000 ms 256 MiB
标准 IO
文本比较

题目描述

仅以此题纪念《炉石传说》陪伴我们走过的9年时光!

《炉石传说》是一款很好玩的回合制游戏。
下面先介绍几个概念:

  • 每个单位在一个回合里只能攻击一次。
  • 生命值:即一个单位的血量,一个单位生命值小于等于00就会死亡。
  • 攻击力:即一个单位能造成别的单位的血量降低值。
  • 圣盾:圣盾能抵挡第一次受到的伤害(无论受到多少伤害),在抵挡一次攻击后圣盾就会消失。

现在场上有一些己方单位和敌方单位,请问你是否能使用己方单位杀死所有的敌方单位。

场上的所有的敌方单位中,每个敌方单位最多只能有11个圣盾。

输入格式

第一行一个整数t(1t100)t(1\leq t\leq100),代表回合数(即数据组数)。

对于每组数据:

先输入一个整数n(1n7)n(1\leq n \leq 7),代表敌方的单位数量。
接下来连续的nn行,每行两个整数h(1h100),f(f{0,1})h(1\leq h \leq 100),f(f\in \{0,1\}),分别代表敌方第ii个单位的生命值和是否有圣盾(f=0f=0代表没有,f=1f=1代表有)。

下一行,一个整数m(1m7)m(1\leq m \leq 7),代表友方单位的数量。
接下来连续的mm行,每行一个整数a(1a100)a(1\leq a \leq 100),代表己方第ii个单位的攻击力。

每个单位每回合只能攻击一次。

输出格式

对于每个回合,如果存在一种攻击方案,可以杀死敌方所有单位,输出一行 YES ,否则,输出一行 NO

样例

样例输入

2
3
3 0
1 1
2 1
5
4 
3
1
1
1
7
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1
100

样例输出:

YES
NO

样例解释:
对于样例:

11组数据:
使用我方单位11攻击敌方单位11;
我方单位33和单位44攻击敌方单位22;
我方单位22和单位55攻击敌方单位33
即可杀死敌方所有单位.

22组数据:
因为每个己方单位只能攻击一次,显然无法杀死全部的敌方单位。