N, K = list(map(int, input().split()))

has_snack = [False]*N

# has_snack: 1つ以上のお菓子を持っているかどうか

# has_snack[i] = True なら、すぬけ君i+1は1つ以上のお菓子を持っている



for i in range(K):

    d = int(eval(input()))  # d を読む (使わないけど)

    A = list(map(int, input().split()))  # A を読む

    for v in A:  # A の各要素 v について、

        has_snack[v-1] = True  # すぬけ君vは1つ以上のお菓子を持っている



# sum(has_snack) で1つ以上のお菓子を持っているすぬけ君の人数を求める

# ↑ 暗黙に、Trueは1、Falseは0に変換される

# 求めたいのは1つも持っていないすぬけ君の人数なので、総数Nから引く

print((N - sum(has_snack)))
N, K = list(map(int, input().split()))



# setについての詳細:

# https://docs.python.org/ja/3/library/stdtypes.html#set-types-set-frozenset



has_snack = set()  # 1つ以上のお菓子を持っているすぬけ君を入れておくset

for i in range(K):

    d = int(eval(input()))  # d を読む（使わないけど）

    A = set(map(int, input().split()))  # A を set として読む

    has_snack |= A  # has_snackとの和集合を求め、それをhas_snackに代入



# len(has_snack) でhas_snackの要素数を求め、総数 N から引く

print((N-len(has_snack)))

N, K = list(map(int, input().split()))
has_snack = [False] * N
# has_snack: 1つ以上のお菓子を持っているかどうか
# has_snack[i] = True なら、すぬけ君i+1は1つ以上のお菓子を持っている
for i in range(K):
    d = int(eval(input()))  # d を読む (使わないけど)
    A = list(map(int, input().split()))  # A を読む
    for v in A:  # A の各要素 v について、
        has_snack[v - 1] = True  # すぬけ君vは1つ以上のお菓子を持っている
# sum(has_snack) で1つ以上のお菓子を持っているすぬけ君の人数を求める
# ↑ 暗黙に、Trueは1、Falseは0に変換される
# 求めたいのは1つも持っていないすぬけ君の人数なので、総数Nから引く
print((N - sum(has_snack)))

N, K = list(map(int, input().split()))
# setについての詳細:
# https://docs.python.org/ja/3/library/stdtypes.html#set-types-set-frozenset
has_snack = set()  # 1つ以上のお菓子を持っているすぬけ君を入れておくset
for i in range(K):
    d = int(eval(input()))  # d を読む（使わないけど）
    A = set(map(int, input().split()))  # A を set として読む
    has_snack |= A  # has_snackとの和集合を求め、それをhas_snackに代入
# len(has_snack) でhas_snackの要素数を求め、総数 N から引く
print((N - len(has_snack)))

-has_snack = [False] * N -# has_snack: 1つ以上のお菓子を持っているかどうか -# has_snack[i] = True なら、すぬけ君i+1は1つ以上のお菓子を持っている +# setについての詳細: +# https://docs.python.org/ja/3/library/stdtypes.html#set-types-set-frozenset +has_snack = set()  # 1つ以上のお菓子を持っているすぬけ君を入れておくset -    d = int(eval(input()))  # d を読む (使わないけど) -    A = list(map(int, input().split()))  # A を読む -    for v in A:  # A の各要素 v について、 -        has_snack[v - 1] = True  # すぬけ君vは1つ以上のお菓子を持っている -# sum(has_snack) で1つ以上のお菓子を持っているすぬけ君の人数を求める -# ↑ 暗黙に、Trueは1、Falseは0に変換される -# 求めたいのは1つも持っていないすぬけ君の人数なので、総数Nから引く -print((N - sum(has_snack))) +    d = int(eval(input()))  # d を読む（使わないけど） +    A = set(map(int, input().split()))  # A を set として読む +    has_snack |= A  # has_snackとの和集合を求め、それをhas_snackに代入 +# len(has_snack) でhas_snackの要素数を求め、総数 N から引く +print((N - len(has_snack)))