import sys input = sys.stdin.buffer.readline def main(): N,K = map(int,input().split()) A = []; M = [] RG = [] for i in range(N): a,m = map(int,input().split()) A.append(a) M.append(m) B = list(map(int,input().split())) B = [b-1 for b in B] #0index RG.append(B) dp = [0]*(N+1) for i in range(N): dp[i+1] = max(dp[i+1],dp[i]) #何もしない #print(A[i],RG[i]) for pre in RG[i]: if pre < i and A[pre] < A[i]: #前のほうが安いなら。 dif = A[i] - A[pre] dp[i+1] = max(dp[i+1], dp[pre] + dif) #print(dp) ans = dp[N] print(ans) if __name__ == '__main__': main()