import sys input = sys.stdin.readline n, q = map(int, input().split()) L = [[0, 0] for _ in range(n)] xs = [0]*n for i in range(n): x, w = map(int, input().split()) L[i][0] = x L[i][1] = w xs[i] = x X = list(map(int, input().split())) L.sort() xs.sort() ws = [0]*n wxs = [0]*n for i in range(n): x, w = L[i] ws[i] = w wxs[i] = x*w cumw = [0]+ws cumxw = [0]+wxs from itertools import accumulate cumw = list(accumulate(cumw)) cumxw = list(accumulate(cumxw)) import bisect for x in X: k = bisect.bisect_right(xs, x) if k == 0: ans = cumxw[-1] - cumw[-1]*x elif k == n: ans = -cumxw[-1] + cumw[-1]*x else: ans = x*(cumw[-1]-2*(cumw[-1]-cumw[k]))+(cumxw[-1]-2*cumxw[k]) print(ans)