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
k, n = map(int, input().split())
if k !=1:
    tab = [[] for i in range(k+1)]
    tab[1] = [0 for i in range(n)]

    for i in range(2, k+1):    
        temp = list(map(int, input().split()))
        tab[i] = temp[1:]

    res = [[0 for j in i] for i in tab]

    for i , j in enumerate(res[k]):
        if tab[k][i] == 0:
            res[k][i] = 0
        else:
            res[k][i] = 1

    maxi = len(res[k])

    for day in range(k-1,0,-1):
        for index, meet in enumerate(res[day+1]):
            if tab[day+1][index] != 0:
                res[day][tab[day+1][index]-1] += meet

        for index, meet in enumerate(res[day]):
            if meet == 0:
                res[day][index] = 1
        maxi = max(maxi, sum(res[day]))

    print(maxi)
else:
    print(1)