#include <bits/stdc++.h>
using namespace std;
#define fastIO ios_base::sync_with_stdio(false);cin.tie(NULL)
#define pb push_back
#define int long long int
#define mod 1000000007
bool sortbysec(const pair<int,int> &a, const pair<int,int> &b)
{
return (a.second < b.second);
}
int32_t main()
{
fastIO;
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
int t;
cin>>t;
assert(1 <=t && t<=100);
while(t--) {
int n,dis,s,kl,i,curr=0;
cin>>n>>dis>>s>>kl;
assert(1<=n && n<=100000);
assert(0<=dis && dis<=1000000000);
assert(1<=s && s<=1000000000);
assert(1<=kl && kl<=1000000000000);
int a[n];
for(i=0;i<n;i++) {
cin>>a[i];
assert(1<=a[i] && a[i]<=1000000000);
}
vector < pair<int,int> > v;
for(i=0;i<n;i++) {
int x;
cin>>x;
assert(0<=x && x<=1000000000);
v.pb({x,a[i]-dis});
}
sort(v.begin(), v.end(), sortbysec);
priority_queue < pair<int,int> > pq;
int tim=0,dam=0;
while(curr<n && v[curr].second<=0) {
pq.push(v[curr]);
dam+=v[curr].first;
curr++;
}
if(pq.size()>0) {
dam-=pq.top().first;
pq.pop();
kl-=dam;
tim=1;
}
while(curr<n) {
int r=v[curr].second;
if(r%s==0)
r=r/s;
else
r=r/s+1;
int len=pq.size();
int x=min(len,r-tim);
while(x>0) {
dam-=pq.top().first;
pq.pop();
kl-=dam;
x--;
}
tim=r;
while(curr<n && v[curr].second<=s*r) {
pq.push(v[curr]);
dam+=v[curr].first;
curr++;
}
}
while(pq.size()>0) {
dam-=pq.top().first;
pq.pop();
kl-=dam;
}
if(kl<=0)
cout<<"NO\n";
else
cout<<"YES\n";
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKI2RlZmluZSBmYXN0SU8gaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7Y2luLnRpZShOVUxMKQojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIGludCBsb25nIGxvbmcgaW50CiNkZWZpbmUgbW9kIDEwMDAwMDAwMDcKIApib29sIHNvcnRieXNlYyhjb25zdCBwYWlyPGludCxpbnQ+ICZhLCBjb25zdCBwYWlyPGludCxpbnQ+ICZiKSAKeyAKICAgIHJldHVybiAoYS5zZWNvbmQgPCBiLnNlY29uZCk7IAp9IAogCmludDMyX3QgbWFpbigpCnsKCWZhc3RJTzsKCSNpZm5kZWYgT05MSU5FX0pVREdFCiAgICAJZnJlb3BlbigiaW5wdXQudHh0IiwgInIiLCBzdGRpbik7CiAgICAJZnJlb3Blbigib3V0cHV0LnR4dCIsICJ3Iiwgc3Rkb3V0KTsKCSNlbmRpZgoJCglpbnQgdDsKCWNpbj4+dDsKCWFzc2VydCgxIDw9dCAmJiB0PD0xMDApOwoJd2hpbGUodC0tKSB7CgkJaW50IG4sZGlzLHMsa2wsaSxjdXJyPTA7CgkJY2luPj5uPj5kaXM+PnM+PmtsOwoJCWFzc2VydCgxPD1uICYmIG48PTEwMDAwMCk7CgkJYXNzZXJ0KDA8PWRpcyAmJiBkaXM8PTEwMDAwMDAwMDApOwoJCWFzc2VydCgxPD1zICYmIHM8PTEwMDAwMDAwMDApOwoJCWFzc2VydCgxPD1rbCAmJiBrbDw9MTAwMDAwMDAwMDAwMCk7CgkJaW50IGFbbl07CgkJZm9yKGk9MDtpPG47aSsrKSB7CgkJCWNpbj4+YVtpXTsKCQkJYXNzZXJ0KDE8PWFbaV0gJiYgYVtpXTw9MTAwMDAwMDAwMCk7CgkJfQoJCXZlY3RvciA8IHBhaXI8aW50LGludD4gPiB2OwoJCWZvcihpPTA7aTxuO2krKykgewoJCQlpbnQgeDsKCQkJY2luPj54OwoJCQlhc3NlcnQoMDw9eCAmJiB4PD0xMDAwMDAwMDAwKTsKCQkJdi5wYih7eCxhW2ldLWRpc30pOwoJCX0KCQlzb3J0KHYuYmVnaW4oKSwgdi5lbmQoKSwgc29ydGJ5c2VjKTsKIAoJCXByaW9yaXR5X3F1ZXVlIDwgcGFpcjxpbnQsaW50PiA+IHBxOwoJCWludCB0aW09MCxkYW09MDsKCQl3aGlsZShjdXJyPG4gJiYgdltjdXJyXS5zZWNvbmQ8PTApIHsKCQkJcHEucHVzaCh2W2N1cnJdKTsKCQkJZGFtKz12W2N1cnJdLmZpcnN0OwoJCQljdXJyKys7CgkJfQoJCWlmKHBxLnNpemUoKT4wKSB7CgkJCWRhbS09cHEudG9wKCkuZmlyc3Q7CgkJCXBxLnBvcCgpOwoJCQlrbC09ZGFtOwoJCQl0aW09MTsKCQl9CgkJd2hpbGUoY3VycjxuKSB7CgkJCWludCByPXZbY3Vycl0uc2Vjb25kOwoJCQlpZihyJXM9PTApCgkJCQlyPXIvczsKCQkJZWxzZQoJCQkJcj1yL3MrMTsKCQkJaW50IGxlbj1wcS5zaXplKCk7CgkJCWludCB4PW1pbihsZW4sci10aW0pOwoJCQl3aGlsZSh4PjApIHsKCQkJCWRhbS09cHEudG9wKCkuZmlyc3Q7CgkJCQlwcS5wb3AoKTsKCQkJCWtsLT1kYW07CgkJCQl4LS07CgkJCX0KCQkJdGltPXI7CgkJCXdoaWxlKGN1cnI8biAmJiB2W2N1cnJdLnNlY29uZDw9cypyKSB7CgkJCQlwcS5wdXNoKHZbY3Vycl0pOwoJCQkJZGFtKz12W2N1cnJdLmZpcnN0OwoJCQkJY3VycisrOwoJCQl9CgkJfQoJCXdoaWxlKHBxLnNpemUoKT4wKSB7CgkJCWRhbS09cHEudG9wKCkuZmlyc3Q7CgkJCXBxLnBvcCgpOwoJCQlrbC09ZGFtOwoJCX0KCQlpZihrbDw9MCkKCQkJY291dDw8Ik5PXG4iOwoJCWVsc2UKCQkJY291dDw8IllFU1xuIjsKCX0KCXJldHVybiAwOwp9IA==