你正在玩一款名为 Mega Man XIII-2 的精彩新游戏。遗憾的是,游戏中的 Boss 战难度极高。你可以使用多种武器,例如 PowerLaser、EvilRocket 和 PsychTerror。每种武器都属于激光(laser)、火箭(rocket)和灵能(psiotic)这三类中的一种。为了击败一个 Boss,你必须使用三件武器,且每类武器各选一件。特定的 Boss 只对武器的一个子集易受伤害,但你已经提前研究了这些 Boss,并知道哪些武器可以用来对付它们。
你开始游戏时,每种可用的武器都有两件。随着游戏的进行,你会按预定的顺序遇到每一个 Boss。对于每一场 Boss 战,你都要从每一类武器中选择一件,战斗结束后,这三件武器就会损耗,不能再使用。
为了在游戏中尽可能走得更远,你需要谨慎选择武器。你不想因为在游戏初期就用掉了必要的武器而输给最后一个 Boss!然而,由于对付 Boss 时选择武器的方法太多,你感到不知所措,因此你决定编写一个计算机程序,计算出如果你能最优地为每场 Boss 战选择武器,你最多能击败多少个 Boss。
输入格式
输入的第一行包含一个整数 $T$,表示测试用例的数量。每个测试用例的第一行包含一个整数 $N$,表示游戏中的 Boss 数量。接下来有 $N$ 组,每组 3 行,共 $3N$ 行。第 $i$ 组的 3 行描述了可以用来击败第 $i$ 个 Boss 的武器,分别对应激光、火箭和灵能这三类(每类占一行)。这些行以一个整数 $W_{ij}$ 开头,表示第 $j$ 类中可以用来击败第 $i$ 个 Boss 的武器数量。该行的其余部分包含 $W_{ij}$ 个以空格分隔的字符串,表示武器的名称。
输出格式
对于每个测试用例,输出一行 $M$,表示你能击败的 Boss 的最大数量。
数据范围
- $0 < T \le 100$
- $0 < N \le 100$
- $0 < W_{ij} \le 10$
- 所有字符串的长度均在 1 到 32 之间(含边界)。
- 字符串仅由大小写字母 a 到 z 组成。
样例
输入格式 1
1 4 3 UltraLaser TurboLaser PowerLaser 2 EvilRocket ShatterRocket 3 PsychTerror Wisp Shutdown 2 UltraLaser TurboLaser 2 ShatterRocket PropelledCannon 1 Wisp 2 UltraLaser TurboLaser 2 PropelledCannon EvilRocket 1 Wisp 3 UltraLaser TurboLaser PowerLaser 2 EvilRocket ShatterRocket 1 Wisp
输出格式 1
3