program alice_in_linear_land
  implicit none
  integer :: n, d, x(500000) = 0, q, p(500000) = 0, i
  integer :: a(500001) = 0, b(500001) = 0
  logical :: ok(500000) = .false.
  read(*,*) n, d
  read(*,*) x(1:n)
  read(*,*) q
  read(*,*) p(1:q)
  a(1) = d
  do i = 1, n
    a(i+1) = min(a(i),abs(a(i)-x(i)))
  end do
  b(n+1) = 1
  do i = n, 1, -1
    b(i) = b(i+1)
    if (b(i+1) > x(i)/2) b(i) = b(i+1)+x(i)
    ok(i) = a(i) >= b(i+1)
  end do
  do i = 1, q
    if (ok(p(i))) then
      write(*,'(a)') "YES"
    else
      write(*,'(a)') "NO"
    end if
  end do
end program alice_in_linear_land