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
from sys import stdin, stdout

d_length = []
days, d_l = [int(x) for x in stdin.readline().split()]
d_length.append(d_l)
d_prev = [[-1] * d_length[0]]
for i in range(1, days):
    d_prev.append([int(x) - 1 for x in stdin.readline().split()])
    d_l, d_prev[i] = d_prev[i][0] + 1, d_prev[i][1:]
    d_length.append(d_l)
result = 0

last_needed = [1] * d_length[days-1]
for i in range(days-2, -1, -1):
    needed = [0] * d_length[i]
    for j in range(d_length[i+1]):
        if d_prev[i+1][j] > -1:
            needed[d_prev[i+1][j]] += last_needed[j]
    for j in range(d_length[i]):
        needed[j] = max(1, needed[j])
    day_need = sum(needed)
    result = max(result, day_need)
    last_needed = needed

stdout.write(str(result))