#include<cstdio>
#include<algorithm>
using namespace std;
const int N=500500,oo=1000000001;
int i,j,k,n,m,ch,x;
int d[N],pre[N],suf[N];
void R(int &x) {
	x=0;ch=getchar();
	while (ch<'0' || '9'<ch) ch=getchar();
	while ('0'<=ch && ch<='9') x=x*10+ch-'0',ch=getchar();
}
int main() {
	R(n);R(pre[1]);
	for (i=1;i<=n;i++) R(d[i]);
	for (i=1;i<n;i++) pre[i+1]=min(pre[i],abs(pre[i]-d[i]));
	suf[n]=1;
	for (i=n;i>1;i--) {
		if (d[i]/2>=suf[i]) suf[i-1]=suf[i];
		else suf[i-1]=d[i]+suf[i];
		if (suf[i-1]>oo) suf[i-1]=oo;
	}
	R(m);
	for (i=1;i<=m;i++) {
		R(x);
		if (pre[x]>=suf[x]) puts("YES");
		else puts("NO");
	}
}