from collections import defaultdict n,m = map(int,input().split()) xylr = defaultdict(list); d = {} z = 10**5; a = [0]*(z+1) for _ in range(n): l,r,x,y = map(int,input().split()) xylr[(x,y)].append((l,r)) if x not in d: d[x] = defaultdict(int) for (x,y),lr in xylr.items(): mi = z; ma = 0 for l,r in lr: p = l+(y-l%x)%x; q = r+1+(y-(r+1)%x)%x mi = min(mi,p); ma = max(ma,q) if p<=z: d[x][p] += 1 if q<=z: d[x][q] -= 1 for i in range(y,ma-x+1,x): d[x][i+x] += d[x][i] for dx in d.values(): for k,v in dx.items(): a[k] += v for v in map(int,input().split()): print(a[v])