from itertools import accumulate
import sys
T = int(input())
data = list(map(int,sys.stdin.read().split()))
ptr=0
for _ in range(T):
n,k=data[ptr],data[ptr+1]
ptr+=2
damage=list(data[ptr:ptr+n])
ptr+=n
h,x=data[ptr],data[ptr+1]
ptr+=2
damage.sort()
# 累加伤害
accu = list(accumulate(damage))
for i in range(n):
if accu[i]>=k:
accu[i]=k
#造成总伤害
total_damage=0
#能否击杀
flag=False
for i in range(n):
#先攻击
#从后往前吃,每隔x秒吃一个
total_damage += x * accu[-i-1]
if total_damage> h:
flag = True
break
if flag:
print("YES")
else:
print("NO")