
#include <bits/stdc++.h>

#define rep(X,Y) for (int (X) = 0;(X) < (Y);++(X))
#define all(X) (X).begin(),(X).end()
#define fi first
#define sc second
using namespace std;
typedef long long ll;

const int MAX_N = 500000;
int N, Q;
int D;
int d[MAX_N+1];
int a[MAX_N+1];
int b[MAX_N+1];

int main() {
  cin >> N >> D;
  for (int i = 1; i <= N; ++i) cin >> d[i];
  cin >> Q;

  a[0] = D;
  for (int i = 1; i <= N; ++i) {
    if (d[i] < 2 * a[i-1]) a[i] = abs(a[i-1] - d[i]);
    else a[i] = a[i-1];
  }

  b[N] = 1;
  for (int i = N-1; i >= 1; --i) {
    if (d[i+1] < 2 * b[i+1]) b[i] = b[i+1] + d[i+1];
    else b[i] = b[i+1];
  }
  
  while (Q--) {
    int q;
    cin >> q;
    if (a[q-1] >= b[q]) cout << "YES" << endl;
    else cout << "NO" << endl;
  }

  return 0;
}
