ACM-ICPC是一个大型网络组队游戏,最近出了一个ICPC-puls游戏,每个队伍可以大于一个人,没有上限。完成一个组队需要满足一些要求:
1. 比赛共有 p 个知识点,一个队伍应该了解每个知识点。
2. 由于一些知识点每个人的理解可能不同,因此对于某个知识点,队伍中不应该有两个人及以上的人了解。
教练知道每个队员的知识点学习情况,他想知道,如果组成一个队伍,有多少种组队方法。
两种组队方法A,B 不同,当且仅当,有一个人出现在 A 中但不出现在 B。(同集合的比对方法)
在校队中共有 n 个人。 n ≤ 42
第 i 队员掌握共有 ai 种知识点,0 ≤ ai ≤ p
知识点数量 p ≤ 60
第一行输入整数 T, T ≤ 200 ,表示输入测试组数。
对于每一组测试数据,由以下格式输入:
第一行输入两个整数 n, p
接下来 n 行,每行第一个整数 ai ,表示他掌握的知识点数量,接下来 ai 个数,表示第 i 个人掌握的知识点,知识点标号从 1 到 p。
输出 T 行,每行一个整数,表示组队可能的方案数量。
1 6 6 2 1 2 2 3 4 2 5 6 2 1 3 2 2 4 2 5 6
4
样例1:{1, 2, 3},{1, 2, 6},{4, 5, 6},{3, 4, 5}共计4种组队方式