N,Q=map(int,input().split()) B=[tuple(map(int,input().split())) for i in range(N)] X=list(map(int,input().split())) B.append((0,0)) B.append((1<<28,0)) N+=2 from operator import itemgetter B.sort(key=itemgetter(0)) LSUM=[0] for x,w in B: LSUM.append(LSUM[-1]+w) LC=[0] for i in range(1,N): LC.append(LC[-1]+(B[i][0]-B[i-1][0])*LSUM[i]) RSUM=[0] for x,w in B[::-1]: RSUM.append(RSUM[-1]+w) RC=[0] for i in range(N-1,0,-1): RC.append(RC[-1]+(B[i][0]-B[i-1][0])*RSUM[N-i]) LC.append(0) RC.append(0) import bisect for x in X: t=bisect.bisect_left(B,(x,1<<30)) print(LC[t-1]+LSUM[t]*(x-B[t-1][0])+RC[N-1-t]+RSUM[N-t]*(B[t][0]-x))