import bisect N,Q = map(int,input().split()) A=[(0,0)] for i in range(N): a,b=map(int,input().split()) A.append((a,b)) A.sort() X = list(map(int,input().split())) Sxw = [0] Sw = [0] for i in range(N+1): Sxw.append(Sxw[i]+A[i][0]*A[i][1]) Sw.append(Sw[i]+A[i][1]) k = 0 for q in range(Q): k=bisect.bisect_left(A,(X[q],0)) print(Sxw[N+1]-2*Sxw[k]+X[q]*(2*Sw[k]-Sw[N+1]))