import bisect as bi n,q=map(int,input().split()) nimotu=[list(map(int,input().split())) for i in range(n)] nimotu.sort() pos=[nimotu[i][0] for i in range(n)] valuesum=[0]*n weightsum=[0]*n for i in range(n): valuesum[i]=valuesum[i-1]+nimotu[i][0]*nimotu[i][1] weightsum[i]=weightsum[i-1]+nimotu[i][1] a=map(int,input().split()) for x in a: point=bi.bisect_left(pos,x) if point == n: print(x*weightsum[-1]-valuesum[-1]) continue print(abs(x*weightsum[point-1]-valuesum[point-1]+valuesum[-1]-valuesum[point-1]-x*weightsum[-1]+x*weightsum[point-1]))