#include <bits/stdc++.h>

const int MAXN = 500010;
typedef long long LL;
LL n, Q, D, f[MAXN], ansl[MAXN], A[MAXN];
int main() {
	std::ios_base::sync_with_stdio(false), std::cin.tie(0);
	std::cin >> n >> D;
	for (int i = 1; i <= n; ++i) std::cin >> A[i];
	f[n + 1] = D - 1;
	for (int i = n; i; --i) {
		if (f[i + 1] + A[i] >= D * 2 - f[i + 1]) f[i] = f[i + 1];
		else f[i] = f[i + 1] - A[i];
	}
	int now = 0;
	for (int i = 1; i <= n; ++i) {
		ansl[i] = now <= f[i + 1] || now >= D * 2 - f[i + 1];
		if (now < D)
		now = now + A[i] >= D * 2 - now ? now : now + A[i];
		else
		now = now - A[i] <= D * 2 - now ? now : now - A[i];
	}
	std::cin >> Q;
	while (Q --> 0) {
		int t; std::cin >> t;
		std::cout << (ansl[t] ? "YES" : "NO") << '\n';
	}
	return 0;
}
