from functools import lru_cache def solve(): N=19 B=[[0]*N for _ in range(N)] for i in range(N): _,*Ai=map(int,input().split()) for a in Ai: B[i][a-1]=1 popcount=lambda S:bin(S).count("1") bit=lambda S,k:(S>>k)&1 @lru_cache(maxsize=None) def calc(S, sgn): pop=popcount(S) if pop==N: return sgn==0 unused=[i for i in range(N) if not bit(S,i)] X=0 for t in range(len(unused)): if B[pop][unused[t]]==1: X+=calc(S|(1<