import sys,random

#sys.setrecursionlimit(2*10**5)

input = lambda :sys.stdin.readline().rstrip()
mi = lambda :map(int,input().split())
li = lambda :list(mi())

N,K = mi()
A = [0 for i in range(N)]
edge = [[] for i in range(N)]
for i in range(N):
    A[i],M = mi()
    B = li()
    for pi in B:
        edge[pi-1].append(i)

dp = [0 for i in range(N)]
for i in range(N-2,-1,-1):
    dp[i] = dp[i+1]
    for nv in edge[i]:
        tmp = A[nv]-A[i] + dp[nv]
        dp[i] = max(tmp,dp[i])

print(dp[0])