def solve():
    N,M=map(int,input().split())
    A=[0]+list(map(int,input().split()))

    X=[0]*(N+1); X[0]=M
    for i in range(N):
        if X[i]+X[i+1]<A[i+1]:
            return False
        if i+2<=N:
            X[i+2]+=(X[i]+X[i+1])-A[i+1]
            if X[i+2]>A[i+2]:
                return False

        X[i+1]=A[i+1]
        X[i]=0
    return True

#==================================================
import sys
input=sys.stdin.readline
write=sys.stdout.write

T=int(input())

Ans=[0]*T
for t in range(T):
    Ans[t]="Yes" if solve() else "No"

write("\n".join(Ans))