#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include<map>
using namespace std;
/**
* Auto-generated code below aims at helping you parse
* the standard input according to the problem statement.
**/
int main()
{
int w;
int h;
int count_x;
int count_y;
vector<int>X,Y;
cin >> w >> h >> count_x >> count_y; cin.ignore();
for (int i = 0; i < count_x; i++) {
int x;
cin >> x; cin.ignore();
X.push_back(x);
}
for (int i = 0; i < count_y; i++) {
int y;
cin >> y; cin.ignore();
Y.push_back(y);
}
X.push_back(0);
Y.push_back(0);
X.push_back(w);
int last=0;
Y.push_back(h);
long long ans=0;
vector<pair<int,int>>points;
for (int i=0;i<X.size();i++){
for (int j=0;j<Y.size();j++){
points.push_back({X[i],Y[j]});
}
}
map<int,int>difX;
//get the diffrence between the x cordinates
// h*h
for (int i=0;i<X.size();i++){
for (int j=0;j<X.size();j++){
if (X[i]>X[j]){
difX[X[i]-X[j]]++;
}
}
}
// w*w log2(h*h)
for (int i=0;i<Y.size();i++){
for (int j=0;j<Y.size();j++){
if (Y[i]>Y[j]){
ans+=difX[Y[i]-Y[j]];
}
}
}
cout << ans << endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZTxtYXA+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgovKioKICogQXV0by1nZW5lcmF0ZWQgY29kZSBiZWxvdyBhaW1zIGF0IGhlbHBpbmcgeW91IHBhcnNlCiAqIHRoZSBzdGFuZGFyZCBpbnB1dCBhY2NvcmRpbmcgdG8gdGhlIHByb2JsZW0gc3RhdGVtZW50LgogKiovCgppbnQgbWFpbigpCnsKICAgIGludCB3OwogICAgaW50IGg7CiAgICBpbnQgY291bnRfeDsKICAgIGludCBjb3VudF95OwogICAgdmVjdG9yPGludD5YLFk7CiAgICBjaW4gPj4gdyA+PiBoID4+IGNvdW50X3ggPj4gY291bnRfeTsgY2luLmlnbm9yZSgpOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBjb3VudF94OyBpKyspIHsKICAgICAgICBpbnQgeDsKICAgICAgICBjaW4gPj4geDsgY2luLmlnbm9yZSgpOwogICAgICAgIFgucHVzaF9iYWNrKHgpOwogICAgfQogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBjb3VudF95OyBpKyspIHsKICAgICAgICBpbnQgeTsKICAgICAgICBjaW4gPj4geTsgY2luLmlnbm9yZSgpOwogICAgICAgIFkucHVzaF9iYWNrKHkpOwogICAgfQogICAgWC5wdXNoX2JhY2soMCk7CiAgICBZLnB1c2hfYmFjaygwKTsKICAgIFgucHVzaF9iYWNrKHcpOwogICAgaW50IGxhc3Q9MDsKICAgIFkucHVzaF9iYWNrKGgpOwogICAgbG9uZyBsb25nIGFucz0wOwogICAgdmVjdG9yPHBhaXI8aW50LGludD4+cG9pbnRzOwogICAgZm9yIChpbnQgaT0wO2k8WC5zaXplKCk7aSsrKXsKICAgICAgICBmb3IgKGludCBqPTA7ajxZLnNpemUoKTtqKyspewogICAgICAgICAgICBwb2ludHMucHVzaF9iYWNrKHtYW2ldLFlbal19KTsKICAgICAgICB9CiAgICB9CiAgICBtYXA8aW50LGludD5kaWZYOwogICAgLy9nZXQgdGhlIGRpZmZyZW5jZSBiZXR3ZWVuIHRoZSB4IGNvcmRpbmF0ZXMKICAgIC8vIGgqaAogICAgZm9yIChpbnQgaT0wO2k8WC5zaXplKCk7aSsrKXsKICAgICAgICBmb3IgKGludCBqPTA7ajxYLnNpemUoKTtqKyspewogICAgICAgICAgICBpZiAoWFtpXT5YW2pdKXsKICAgICAgICAgICAgZGlmWFtYW2ldLVhbal1dKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICAvLyB3KncgbG9nMihoKmgpCiAgICBmb3IgKGludCBpPTA7aTxZLnNpemUoKTtpKyspewogICAgICAgIGZvciAoaW50IGo9MDtqPFkuc2l6ZSgpO2orKyl7CiAgICAgICAgICAgIGlmIChZW2ldPllbal0pewogICAgICAgICAgICBhbnMrPWRpZlhbWVtpXS1ZW2pdXTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIGNvdXQgPDwgYW5zIDw8IGVuZGw7Cn0=