import bisect def main(): import sys input = sys.stdin.read().split() ptr = 0 L = int(input[ptr]) ptr += 1 M = int(input[ptr]) ptr += 1 N = int(input[ptr]) ptr += 1 A = list(map(int, input[ptr:ptr+L])) ptr += L B = list(map(int, input[ptr:ptr+M])) ptr += M Q = int(input[ptr]) ptr += 1 A.sort() B.sort() diff_count = [0] * Q for b in B: low = b high = b + Q - 1 left = bisect.bisect_left(A, low) right = bisect.bisect_right(A, high) for i in range(left, right): a = A[i] v = a - b if 0 <= v < Q: diff_count[v] += 1 for v in range(Q): print(diff_count[v]) if __name__ == "__main__": main()