J. 组队
time limit per test
15 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

ACM-ICPC是一个大型网络组队游戏,最近出了一个ICPC-puls游戏,每个队伍可以大于一个人,没有上限。完成一个组队需要满足一些要求:

1. 比赛共有 p 个知识点,一个队伍应该了解每个知识点。

2. 由于一些知识点每个人的理解可能不同,因此对于某个知识点,队伍中不应该有两个人及以上的人了解。

教练知道每个队员的知识点学习情况,他想知道,如果组成一个队伍,有多少种组队方法。

两种组队方法AB 不同,当且仅当,有一个人出现在 A 中但不出现在 B。(同集合的比对方法)

在校队中共有 n 个人。 n ≤ 42

i 队员掌握共有 ai 种知识点,0 ≤ ai ≤ p

知识点数量 p ≤ 60

Input

第一行输入整数 T, T ≤ 200 ,表示输入测试组数。

对于每一组测试数据,由以下格式输入:

第一行输入两个整数 n, p

接下来 n 行,每行第一个整数 ai ,表示他掌握的知识点数量,接下来 ai 个数,表示第 i 个人掌握的知识点,知识点标号从 1p

Output

输出 T 行,每行一个整数,表示组队可能的方案数量。

Example
Input
1
6 6
2 1 2
2 3 4
2 5 6
2 1 3
2 2 4
2 5 6
Output
4
Note

样例1:{1, 2, 3},{1, 2, 6},{4, 5, 6},{3, 4, 5}共计4种组队方式