// https://w...content-available-to-author-only...t.com/problems/valid-path/
#include<bits/stdc++.h>
#include<unordered_set>
using namespace std;
class Solution{
public:
string solve(int A, int B, int C, int D, vector<int> &E, vector<int> &F);
};
#define pii pair<int,int>
int par[1000+5];
int rnk[1000+5];
bool vis[1000+5];
void initialise(){
for(int i=0;i<=1000;i++){
par[i]=i;
rnk[i]=1;
vis[i]=false;
}
}
int findPar(int node){
if(par[node]==node)return node;
return par[node]=findPar(par[node]);
}
void makeUnion(int a,int b){
int parA=findPar(a);
int parB=findPar(b);
if(parA==parB)return;
if(rnk[parA]<rnk[parB])par[parB]=parA;
else if(rnk[parB]<rnk[parA])par[parA]=parB;
else{
rnk[parA]++;
par[parB]=parA;
}
}
bool findBlockage(int root,int X,int Y,int N,int R,vector<pair<int,pii>>vec){
int top=0;
int bottom=INT_MAX;
int left=INT_MAX;
int right=0;
for(int i=0;i<N;i++){
if(par[vec[i].first]==root){
int x=vec[i].second.first;
int y=vec[i].second.second;
top=max(top,y+R);
bottom=min(bottom,y-R);
left=min(left,x-R);
right=max(right,x+R);
}
}
if(top>=Y and bottom<=0)return true;
if(right>=X and left<=0)return true;
if(top>=Y and right>=X)return true;
if(left<=0 and bottom<=0)return true;
return false;
}
string Solution::solve(int X, int Y, int N, int R, vector<int> &E, vector<int> &F) {
vector<pair<int,pii>> vec;
int id=0;
for(int i=0;i<N;i++){
vec.push_back({id,{E[i],F[i]}});
id++;
}
initialise();
for(int i=0;i<N;i++){
for(int j=i;j<N;j++){
if(i==j)continue;
int x1=vec[i].second.first;
int x2=vec[j].second.first;
int y1=vec[i].second.second;
int y2=vec[j].second.second;
if(((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)) <= (4*R*R)){
makeUnion(vec[i].first,vec[j].first);
}
}
}
for(int i=0;i<N;i++){
if(!vis[par[vec[i].first]]){
vis[par[vec[i].first]]=1;
bool ret = findBlockage(par[vec[i].first],X,Y,N,R,vec);
if(ret)return "NO";
}
}
return "YES";
}
int main(){
int n,x,y,r;
cin>>x>>y>>n>>r;
vector<int>X(n);
vector<int>Y(n);
for(int i=0;i<n;i++)cin>>X[i];
for(int i=0;i<n;i++)cin>>Y[i];
Solution sol;
cout<<sol.solve(n,x,y,r,X,Y)<<endl;
}
Ly8gaHR0cHM6Ly93Li4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi50LmNvbS9wcm9ibGVtcy92YWxpZC1wYXRoLwoKCiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CiNpbmNsdWRlPHVub3JkZXJlZF9zZXQ+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpjbGFzcyBTb2x1dGlvbnsKcHVibGljOgogICAgc3RyaW5nIHNvbHZlKGludCBBLCBpbnQgQiwgaW50IEMsIGludCBELCB2ZWN0b3I8aW50PiAmRSwgdmVjdG9yPGludD4gJkYpOwp9OwoKI2RlZmluZSBwaWkgcGFpcjxpbnQsaW50PgoKaW50IHBhclsxMDAwKzVdOwppbnQgcm5rWzEwMDArNV07CmJvb2wgdmlzWzEwMDArNV07Cgp2b2lkIGluaXRpYWxpc2UoKXsKICAgIGZvcihpbnQgaT0wO2k8PTEwMDA7aSsrKXsKICAgICAgICBwYXJbaV09aTsKICAgICAgICBybmtbaV09MTsKICAgICAgICB2aXNbaV09ZmFsc2U7CiAgICB9Cn0KCmludCBmaW5kUGFyKGludCBub2RlKXsKICAgIGlmKHBhcltub2RlXT09bm9kZSlyZXR1cm4gbm9kZTsKICAgIHJldHVybiBwYXJbbm9kZV09ZmluZFBhcihwYXJbbm9kZV0pOwp9Cgp2b2lkIG1ha2VVbmlvbihpbnQgYSxpbnQgYil7CiAgICBpbnQgcGFyQT1maW5kUGFyKGEpOwogICAgaW50IHBhckI9ZmluZFBhcihiKTsKCiAgICBpZihwYXJBPT1wYXJCKXJldHVybjsKICAgIGlmKHJua1twYXJBXTxybmtbcGFyQl0pcGFyW3BhckJdPXBhckE7CiAgICBlbHNlIGlmKHJua1twYXJCXTxybmtbcGFyQV0pcGFyW3BhckFdPXBhckI7CiAgICBlbHNlewogICAgICAgIHJua1twYXJBXSsrOwogICAgICAgIHBhcltwYXJCXT1wYXJBOwogICAgfQp9CgoKYm9vbCBmaW5kQmxvY2thZ2UoaW50IHJvb3QsaW50IFgsaW50IFksaW50IE4saW50IFIsdmVjdG9yPHBhaXI8aW50LHBpaT4+dmVjKXsKICAgIGludCB0b3A9MDsKICAgIGludCBib3R0b209SU5UX01BWDsKICAgIGludCBsZWZ0PUlOVF9NQVg7CiAgICBpbnQgcmlnaHQ9MDsKCiAgICBmb3IoaW50IGk9MDtpPE47aSsrKXsKICAgICAgICBpZihwYXJbdmVjW2ldLmZpcnN0XT09cm9vdCl7CiAgICAgICAgICAgIGludCB4PXZlY1tpXS5zZWNvbmQuZmlyc3Q7CiAgICAgICAgICAgIGludCB5PXZlY1tpXS5zZWNvbmQuc2Vjb25kOwogICAgICAgICAgICB0b3A9bWF4KHRvcCx5K1IpOwogICAgICAgICAgICBib3R0b209bWluKGJvdHRvbSx5LVIpOwogICAgICAgICAgICBsZWZ0PW1pbihsZWZ0LHgtUik7CiAgICAgICAgICAgIHJpZ2h0PW1heChyaWdodCx4K1IpOwogICAgICAgIH0KICAgIH0KICAgIGlmKHRvcD49WSBhbmQgYm90dG9tPD0wKXJldHVybiB0cnVlOwogICAgaWYocmlnaHQ+PVggYW5kIGxlZnQ8PTApcmV0dXJuIHRydWU7CiAgICBpZih0b3A+PVkgYW5kIHJpZ2h0Pj1YKXJldHVybiB0cnVlOwogICAgaWYobGVmdDw9MCBhbmQgYm90dG9tPD0wKXJldHVybiB0cnVlOwogICAgcmV0dXJuIGZhbHNlOwp9CgpzdHJpbmcgU29sdXRpb246OnNvbHZlKGludCBYLCBpbnQgWSwgaW50IE4sIGludCBSLCB2ZWN0b3I8aW50PiAmRSwgdmVjdG9yPGludD4gJkYpIHsKICAgIHZlY3RvcjxwYWlyPGludCxwaWk+PiB2ZWM7CiAgICBpbnQgaWQ9MDsKICAgIGZvcihpbnQgaT0wO2k8TjtpKyspewogICAgICAgIHZlYy5wdXNoX2JhY2soe2lkLHtFW2ldLEZbaV19fSk7CiAgICAgICAgaWQrKzsKICAgIH0KCiAgICBpbml0aWFsaXNlKCk7CgogICAgZm9yKGludCBpPTA7aTxOO2krKyl7CiAgICAgICAgZm9yKGludCBqPWk7ajxOO2orKyl7CiAgICAgICAgICAgIGlmKGk9PWopY29udGludWU7CiAgICAgICAgICAgIGludCB4MT12ZWNbaV0uc2Vjb25kLmZpcnN0OwogICAgICAgICAgICBpbnQgeDI9dmVjW2pdLnNlY29uZC5maXJzdDsKCiAgICAgICAgICAgIGludCB5MT12ZWNbaV0uc2Vjb25kLnNlY29uZDsKICAgICAgICAgICAgaW50IHkyPXZlY1tqXS5zZWNvbmQuc2Vjb25kOwoKICAgICAgICAgICAgaWYoKCh4MS14MikqKHgxLXgyKSsoeTEteTIpKih5MS15MikpIDw9ICg0KlIqUikpewogICAgICAgICAgICAgICAgbWFrZVVuaW9uKHZlY1tpXS5maXJzdCx2ZWNbal0uZmlyc3QpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGZvcihpbnQgaT0wO2k8TjtpKyspewogICAgICAgIGlmKCF2aXNbcGFyW3ZlY1tpXS5maXJzdF1dKXsKICAgICAgICAgICAgdmlzW3Bhclt2ZWNbaV0uZmlyc3RdXT0xOwogICAgICAgICAgICBib29sIHJldCA9IGZpbmRCbG9ja2FnZShwYXJbdmVjW2ldLmZpcnN0XSxYLFksTixSLHZlYyk7CiAgICAgICAgICAgIGlmKHJldClyZXR1cm4gIk5PIjsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gIllFUyI7Cn0KCmludCBtYWluKCl7CiAgICBpbnQgbix4LHkscjsKICAgIGNpbj4+eD4+eT4+bj4+cjsKICAgIHZlY3RvcjxpbnQ+WChuKTsKICAgIHZlY3RvcjxpbnQ+WShuKTsKCiAgICBmb3IoaW50IGk9MDtpPG47aSsrKWNpbj4+WFtpXTsKICAgIGZvcihpbnQgaT0wO2k8bjtpKyspY2luPj5ZW2ldOwoKICAgIFNvbHV0aW9uIHNvbDsKICAgIGNvdXQ8PHNvbC5zb2x2ZShuLHgseSxyLFgsWSk8PGVuZGw7Cn0K