from __future__ import division, print_function import array import bisect import collections import decimal import fractions import functools import heapq import itertools import math import random import re import sys try: input = raw_input except NameError: pass # decimal.getcontext().prec = 50 # sys.setrecursionlimit(1000000) # MOD = 10**9 + 7 # INF = float('inf') IMPOSSIBLE = "IMPOSSIBLE" POSSIBLE = "POSSIBLE" class UnionFind(object): def __init__(self, number_of_nodes): # Don't use self.par directly! (call self.root) self.par = array.array("L", range(number_of_nodes)) self.rank = array.array("L", (0 for _ in range(number_of_nodes))) def root(self, node): if self.par[node] == node: return node else: r = self.root(self.par[node]) self.par[node] = r return r def in_the_same_set(self, node1, node2): return self.root(node1) == self.root(node2) def unite(self, node1, node2): x = self.root(node1) y = self.root(node2) if x == y: pass elif self.rank[x] < self.rank[y]: self.par[x] = y else: self.par[y] = x if self.rank[x] == self.rank[y]: self.rank[x] += 1 def solve(f): n, l = f.read_int_list() ks = [] for _ in range(l): f.read_int() ks.append([i - 1 for i in f.read_int_list()]) uf = UnionFind(n) for ki in ks: for i in range(len(ki) - 1): uf.unite(ki[i], ki[i + 1]) all_cnt = len(set([uf.root(i) for i in range(n)])) ans = 0 for li in range(n): uf = UnionFind(n) for kii, ki in enumerate(ks): if li == kii: continue for i in range(len(ki) - 1): uf.unite(ki[i], ki[i + 1]) cnt = len(set([uf.root(i) for i in range(n)])) if all_cnt != cnt: ans += 1 return ans class Reader(object): def __init__(self, filename=None): self.file = open(filename) if filename is not None else None self.case = 1 def __readline(self): return next(self.file).strip() if self.file else input() def next_case(self): next(self.file) self.case += 1 def read_int(self): return int(self.__readline()) def read_float(self): return float(self.__readline()) def read_decimal(self): return decimal.Decimal(self.__readline()) def read_str(self): return self.__readline() def read_int_list(self): return list(map(int, self.__readline().split())) def read_float_list(self): return list(map(float, self.__readline().split())) def read_decimal_list(self): return list(map(decimal.Decimal, self.__readline().split())) def read_str_list(self): return self.__readline().split() if __name__ == "__main__": filename = sys.argv[1] if len(sys.argv) > 1 else None f = Reader(filename) cases = f.read_int() for case in range(cases): line = "Case #%d: %s\n" % (case + 1, str(solve(f))) print(line, end="")