#include <bits/stdc++.h>
#define F(i, x, y) for (int i = (x); i <= (y); ++i)
#define Fr(i, x, y) for (int i = (x); i < (y); ++i)
using namespace std;
typedef long long ll;

const int N = 500005;
int n, q, D, d[N], dist[N], far[N];
int main() {
	scanf ("%d%d", &n, &D);
	for (int i = 1; i <= n; ++i)
		scanf ("%d", &d[i]);
	dist[0] = D;
	for (int i = 1; i <= n; ++i) {
		if (dist[i - 1] <= d[i] / 2) dist[i] = dist[i - 1];
		else dist[i] = abs(dist[i - 1] - d[i]);
	}
	far[n + 1] = 1;
	for (int i = n; i >= 1; --i) {
		if (far[i + 1] <= d[i] / 2) far[i] = far[i + 1];
		else far[i] = d[i] + far[i + 1];
	}
	scanf ("%d", &q);
	while (q--) {
		int x;
		scanf ("%d", &x);
		puts(far[x + 1] <= dist[x - 1] ? "YES" : "NO");
	}
	return 0; 
} 