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
30
31
32
lengh=[0]
n, lengh[0] = map(int, input().split())
#robimy grida od day od indx
days = [[] for _ in range(n)]
days[0] = [[] for _ in range(lengh[0])]

for day in range(1, n):
    t = list(map(int, input().split()))
    lengh.append(t[0])
    l = lengh[-1]
    days[day] = [[] for _ in range(l)]
    for i in range(l):
        if t[i+1]!=0:
            days[day-1][t[i+1]-1].append(i)

# print(*days, sep="\n")
costs = [[] for d in range(n)]
res = 0

for day in range(n-1, -1, -1):
    c=0
    for i in range(lengh[day]):
        costs[day].append(1)
        if days[day][i]:
            costs[day][i] = 0
            for j in range(len(days[day][i])):
                costs[day][i]+=costs[day+1][days[day][i][j]]
        c+=costs[day][i]
    res = max(res, c)

# print(*costs, sep="\n")
print(res)