N, M, X = map(int, input().split()) AB = [[int(i) for i in input().split()] for j in range(N)] K = int(input()) C = list(map(int, input().split())) problem = {i+1: [] for i in range(M)} for i in range(N): problem[AB[i][1]].append(AB[i][0]) for i in range(M): problem[i+1].sort(reverse=True) problem[i+1][0] += X AB.sort(reverse=True, key=lambda x: x[0]) ans_pro = [] for i in range(M): ans_pro = ans_pro + problem[i+1] ans_pro.sort(reverse=True) for i in range(1, N): ans_pro[i] += ans_pro[i-1] ans = 0 for i in range(K): if C[i] > 0: ans += ans_pro[C[i]-1] print(ans)