#include using namespace std; int main() { long N, M, K; char op; cin >> N >> M >> K >> op; vector A(N), B(M); for (long &b : B) cin >> b; for (long &a : A) cin >> a; long ans = 0; if (op == '+') { map MA; for (long a : A) MA[a % K]++; for (long b : B) ans += (b % K) ? MA[K - b % K] : MA[0]; } else { map MA1, MA2; for (long a : A) MA1[__gcd(a, K)]++; for (long b : B) MA2[__gcd(b, K)]++; for (auto ma1 : MA1) for (auto ma2 : MA2) if (ma1.first * ma2.first % K == 0) ans += ma1.second * ma2.second; } cout << ans << "\n"; }