#include <bits/stdc++.h>
using namespace std;

int n, D, f[501000], g[501000], d[501000], Q;

int main(void) {
  scanf("%d%d", &n, &D);
  f[0] = D;
  for(int i = 1, x; i <= n; i++) {
    scanf("%d", &x);
    f[i] = min(f[i - 1], abs(f[i - 1] - x));
    d[i] = x;
  }

  g[n] = 1;
  for(int i = n - 1; i >= 1; i--) {
    if(g[i + 1] <= d[i + 1] / 2)
      g[i] = g[i + 1];
    else g[i] = d[i + 1] + g[i + 1];
    if(g[i] > 1e9) g[i] = 1e9 + 1;
  }

  scanf("%d", &Q);
  while(Q--) {
    int x;
    scanf("%d", &x);
    puts(f[x - 1] >= g[x] ? "YES" : "NO");
  }
  return 0;
}
