#include<bits/stdc++.h>
using namespace std;
vector<int> gph[150];
int seen[150];
int match[150];
bool dfs(int u)
{
for(int i=0;i<gph[u].size();i++)
{
int v=gph[u][i];
if(!seen[v])
{
seen[v]=true;
if(match[v]<0 or dfs(match[v]))
{
match[v]=u;
return true;
}
}
}
return false;
}
struct ss
{
double x,y;
};
int main()
{
int t,n,i,m,j;
struct ss a[109],b[109];
double s,v,d,x,y;
cin>>n>>m>>s>>v;
for(i=0;i<=122;i++)
match[i]=-1;
for(i=1;i<=n;i++)
{
cin>>x>>y;
a[i].x=x;
a[i].y=y;
}
for(i=1;i<=m;i++)
{
cin>>x>>y;
b[i].x=x;
b[i].y=y;
}
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
d=sqrt((a[i].x-b[j].x)*(a[i].x-b[j].x)+(a[i].y-b[j].y)*(a[i].y-b[j].y));
d=d/v;
if(d<=s)
{
gph[i].push_back(j);
}
}
}
int result=0;
for(i=1;i<=n;i++)
{
memset(seen,0,sizeof(seen));
if(dfs(i))
result++;
}
cout<<n-result<<endl;
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdmVjdG9yPGludD4gZ3BoWzE1MF07CmludCBzZWVuWzE1MF07CmludCBtYXRjaFsxNTBdOwpib29sIGRmcyhpbnQgdSkKewogICAgZm9yKGludCBpPTA7aTxncGhbdV0uc2l6ZSgpO2krKykKICAgIHsKICAgICAgICBpbnQgdj1ncGhbdV1baV07CiAgICAgICAgaWYoIXNlZW5bdl0pCiAgICAgICAgewogICAgICAgICAgICBzZWVuW3ZdPXRydWU7CiAgICAgICAgICAgIGlmKG1hdGNoW3ZdPDAgb3IgZGZzKG1hdGNoW3ZdKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgbWF0Y2hbdl09dTsKICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIGZhbHNlOwp9CnN0cnVjdCBzcwp7CiAgICBkb3VibGUgeCx5Owp9OwppbnQgbWFpbigpCnsKICAgICAgICBpbnQgdCxuLGksbSxqOwogICAgICAgIHN0cnVjdCBzcyBhWzEwOV0sYlsxMDldOwogICAgICAgIGRvdWJsZSBzLHYsZCx4LHk7CiAgICAgICAgY2luPj5uPj5tPj5zPj52OwogICAgICAgIGZvcihpPTA7aTw9MTIyO2krKykKICAgICAgICAgICAgbWF0Y2hbaV09LTE7CiAgICAgICAgZm9yKGk9MTtpPD1uO2krKykKICAgICAgICB7CiAgICAgICAgICAgIGNpbj4+eD4+eTsKICAgICAgICAgICAgYVtpXS54PXg7CiAgICAgICAgICAgIGFbaV0ueT15OwogICAgICAgIH0KICAgICAgICBmb3IoaT0xO2k8PW07aSsrKQogICAgICAgIHsKICAgICAgICAgICAgY2luPj54Pj55OwogICAgICAgICAgICBiW2ldLng9eDsKICAgICAgICAgICAgYltpXS55PXk7CiAgICAgICAgfQogICAgICAgIGZvcihpPTE7aTw9bjtpKyspCiAgICAgICAgewogICAgICAgICAgICBmb3Ioaj0xO2o8PW07aisrKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBkPXNxcnQoKGFbaV0ueC1iW2pdLngpKihhW2ldLngtYltqXS54KSsoYVtpXS55LWJbal0ueSkqKGFbaV0ueS1iW2pdLnkpKTsKICAgICAgICAgICAgICAgIGQ9ZC92OwogICAgICAgICAgICAgICAgaWYoZDw9cykKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBncGhbaV0ucHVzaF9iYWNrKGopOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGludCByZXN1bHQ9MDsKICAgICAgICBmb3IoaT0xO2k8PW47aSsrKQogICAgICAgIHsKICAgICAgICAgICAgbWVtc2V0KHNlZW4sMCxzaXplb2Yoc2VlbikpOwogICAgICAgICAgICBpZihkZnMoaSkpCiAgICAgICAgICAgICAgICByZXN1bHQrKzsKICAgICAgICB9CiAgICAgICAgY291dDw8bi1yZXN1bHQ8PGVuZGw7CiAgICAgICAgcmV0dXJuIDA7Cn0K