import sys from collections import defaultdict def main(): input = sys.stdin.read data = input().split() idx = 0 N = int(data[idx]) idx += 1 M = int(data[idx]) idx += 1 groups = defaultdict(list) for _ in range(N): L = int(data[idx]) idx += 1 R = int(data[idx]) idx += 1 X = int(data[idx]) idx += 1 Y = int(data[idx]) idx += 1 groups[(X, Y)].append((L, R)) for X, Y in groups: intervals = groups[(X, Y)] intervals.sort() groups[(X, Y)] = intervals queries = list(map(int, data[idx:idx+M])) idx += M for A in queries: count = 0 for (X, Y), intervals in groups.items(): Y_A = A % X if Y != Y_A: continue left = 0 right = len(intervals) while left < right: mid = (left + right) // 2 if intervals[mid][0] > A: right = mid else: left = mid + 1 found = False for i in range(left): L, R = intervals[i] if L <= A <= R: count += 1 found = True if found: for i in range(left, len(intervals)): L, R = intervals[i] if L > A: break if A <= R: count += 1 print(count) if __name__ == '__main__': main()