1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
k, n1 = map(int, input().split())
n = [0] * (k + 1)
n[1] = n1

a = [None] * (k + 1)
for i in range(2, k + 1):
    line = list(map(int, input().split()))
    n[i] = line[0]
    a[i] = line[1:]

w = [None] * (k + 1)
w[k] = [1] * n[k]
ans = n[k]

for i in range(k - 1, 1 - 1, -1):
    w[i] = [0] * n[i]
    for child_idx in range(n[i + 1]):
        parent = a[i + 1][child_idx]
        if parent > 0:
            w[i][parent - 1] += w[i + 1][child_idx]

    for j in range(n[i]):
        if w[i][j] == 0:
            w[i][j] = 1

    day_sum = sum(w[i])
    ans = max(ans, day_sum)

print(ans)