【題目敘述】https://zerojudge.tw/ShowProblem?problemid=d198
num = int(input())
for k in range(num):
input()
n, m = map(int, input().split())
grid = [[]]*n
for i in range(n):
lst = list(map(int, input().split()))
temp, lst = lst[0], lst[1:]
grid[temp-1] = lst
if 1 in grid[0] or m in grid[-1]:
print(0)
continue
for i in range(m):
if (i+1) in grid[0]:
lst = [1] * i + [0] * (m-i)
break
else:
lst = [1] * m
for i in range(1, n):
if lst[0] == 1 and 1 in grid[i]:
lst[0] = 0
for j in range(1, m):
if (j+1) in grid[i]:
lst[j] = 0
else:
lst[j] += lst[j-1]
print(lst[-1])