N,M,K=gets.split.map &:to_i op,*B=gets.split B.map! &:to_i A=$<.map &:to_i z=0 if op=='+' d={} B.map{|b| b%=K if d[b] d[b]+=1 else d[b]=1 end } A.map{|a| a=-a%K if d[a] z+=d[a] end } else da={} db={} B.map{|b| g=b.gcd K if db[g] db[g]+=1 else db[g]=1 end } A.map{|a| g=a.gcd K if da[g] da[g]+=1 else da[g]=1 end } da.map{|ka,va| db.map{|kb,vb| if ka*kb%K==0 z+=va*vb end } } end p z