N, K = map(int, input().split()) A = [] M = [] B = [] for i in range(N): a, m = map(int, input().split()) A.append(a) M.append(m) B.append([i - 1 for i in list(map(int, input().split()))]) E = [[(i + 1, 0)] for i in range(N - 1)] + [[]] for i in reversed(range(N)): for b in B[i]: if A[b] < A[i]: E[b].append((i, A[i] - A[b])) dp = [0] * N for i in range(N): for j, c in E[i]: dp[j] = max(dp[j], dp[i] + c) print(dp[-1])