def f(n,m,xs) ans="No" if n==1 then return "Yes" if xs[0]==m return "No" elsif n==2 then return "Yes" if xs[0]<=xs[1] && xs[1]==m return "No" elsif xs[-1]==m then t=m-xs[0] return "No" if t<0 xs=[t]+xs n=xs.size # (1..n-3).each{|i| t3=xs[i+1]-xs[i-1] t4=xs[i]-t3 t5=xs[i+2]-t4 t6=xs[i+1]-t5 #p [t3,t4,t5,t6] return "No" if [t3,t4,t5,t6].any?{|e| e<0} xs[i]=t4 } return "Yes" end return "No" end t=gets.to_i t.times{ a,b=gets.split(" ").map{|e| e.to_i} xs=gets.split(" ").map{|e| e.to_i} puts f(a,b,xs) }