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

long long d[500009], ans[500009], x[500009];

int main() {
	int N, D; scanf("%d%d",&N,&D);
	for(int i=1; i<=N; i++) {
		x[i] = D;
		scanf("%lld",&d[i]);
		D = min(x[i], max(D - d[i], d[i] - D));
	}
	long long l = 0, r = 5LL * 1e14;
	while(l <= r) {
		long long m = l+r >> 1, n = m;
		for(int i=1; i<=N; i++) {
			if(n >= d[i]) n = max(n - d[i], d[i] >> 1);
			else n = min(n, d[i] >> 1);
		}
		if(n != 0) r = m-1;
		else {
			l = m+1;
			n = m;
			for(int i=1; i<=N; i++) {
				ans[i] = n;
				if(n >= d[i]) n = max(n - d[i], d[i] >> 1);
				else n = min(n, d[i] >> 1);
			}
		}
	}
	int Q; scanf("%d",&Q);
	while(Q--) {
		int q; scanf("%d",&q);
		if(ans[q+1] < x[q]) puts("YES");
		else puts("NO");
	}
	return 0;
}