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

int N, K, A[500005], Q, ans[500005], val[500005];
long long maxw[500005];

int main() {
	scanf("%d%d", &N, &K);
	for (int i = 0; i < N; i++) scanf("%d", &A[i]);
	maxw[N] = 0;
	for (int i = N - 1; i >= 0; i--) {
		if ((maxw[i + 1] + 1) * 2 >= A[i] + 1) maxw[i] = A[i] + maxw[i + 1];
		else maxw[i] = maxw[i + 1];
		//printf("%d: %lld\n", i, maxw[i]);
	}
	val[0] = K;
	for (int i = 1; i <= N; i++) {
		K = min(K, abs(K - A[i - 1]));
		val[i] = K;
		//printf("%d: %d\n", i, K);
	}
	scanf("%d", &Q);
	for (int i = 0; i < Q; i++) {
		int x;
		scanf("%d", &x);
		if (maxw[x] >= val[x - 1]) printf("NO\n");
		else printf("YES\n");
	}
}
