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])