#include using namespace std; #define int long long signed main(){ int n, m, k; cin >> n >> m >> k; char op; cin >> op; int a[100010]; int b[100010]; map bmp; int ans = 0; if(op == '*'){ for(int i = 0;i < m;i++){ cin >> b[i]; int tmp = __gcd(b[i], k); bmp[k/tmp]++; } for(int i = 0;i < n;i++){ cin >> a[i]; for(auto p : bmp){ if(p.first * p.first > a[i]) break; if(a[i] % p.first == 0){ ans += p.second; } } } }else{ for(int i = 0;i < m;i++){ cin >> b[i]; b[i] %= k; bmp[b[i]]++; } for(int i = 0;i < n;i++){ cin >> a[i]; a[i] %= k; ans += bmp[(k-a[i]) % k ]; } } cout << ans << endl; return 0; }