n, m = map(int, input().split()) A = [set() for _ in range(0,m)] contain = [set() for _ in range(0,n)] for i in range(m): l, *a = map(int, input().split()) for aj in a: A[i].add(aj-1) for i in range(0,n): for j in range(0,m): if i in A[j]: contain[i].add(j) sets = set() for i in range(0,n): sets.add(frozenset(contain[i])) size = len(sets) print(pow(2,size,998244353))