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")