#include <bits/stdc++.h>
#define MAX_N 500000
using namespace std;
template <class T> inline void read(T &x) {
	x = 0; int c = getchar(), f = 1;
	for (; !isdigit(c); c = getchar()) if (c == 45) f = -1;
	for (; isdigit(c); c = getchar()) (x *= 10) += f*(c-'0');
}
int n, d[MAX_N+5], a[MAX_N+5], b[MAX_N+5];
int main() {
	read(n), read(a[0]), b[n] = 1;
	for (int i = 1; i <= n; i++) read(d[i]);
	for (int i = 1; i <= n; i++)
		a[i] = min(a[i-1], abs(a[i-1]-d[i]));
	for (int i = n-1; i; i--)
		if (b[i+1] <= d[i+1]/2) b[i] = b[i+1];
		else b[i] = b[i+1]+d[i+1];
	int m; read(m);
	while (m--) {
		int p; read(p);
		if (b[p] <= a[p-1]) puts("YES");
		else puts("NO");
	}
	return 0;
}