import collections import math N,M,K = map(int,input().split()) B = list(input().split()) OP = B[0] B = list(map(int, B[1:])) A = [] for _ in range(N): A.append(int(input())) ANS = 0 if OP=='+': for i in range(N): A[i] = A[i]%K for i in range(M): B[i] = B[i]%K CA = collections.Counter(A) CB = collections.Counter(B) for k,v in CA.items(): ANS += CB[(K-k)%K]*v else: for i in range(N): A[i] = math.gcd(A[i],K) for i in range(M): B[i] = math.gcd(B[i],K) CA = collections.Counter(A) CB = collections.Counter(B) for k1,v1 in CA.items(): for k2,v2 in CB.items(): if k1*k2%K==0: ANS += v1*v2 print(ANS)