#include<bits/stdc++.h>
#define abs abs_

using namespace std;

const int N=500005;

template<class I>void gi(I&x){
	static char c;
	for(c=getchar();c<'0'||c>'9';c=getchar());
	for(x=0;c<='9'&&c>='0';c=getchar())x=x*10+(c&15);
}
inline int abs(int x){return x<0?-x:x;}

int n,D,d[N],v[N],g[N],Q,m;

int main(){
	gi(n),gi(D),v[0]=D;
	for(int i=1;i<=n;i++)
		gi(d[i]),v[i]=min(v[i-1],abs(v[i-1]-d[i]));
	g[n+1]=1;
	for(int i=n;i>=1;i--)
		if(d[i]<2*g[i+1])
			g[i]=g[i+1]+d[i];
		else
			g[i]=g[i+1];
	gi(Q);
	while(Q--){
		gi(m);
		if(g[m+1]<=v[m-1])
			puts("YES");
		else
			puts("NO");
	}
	return 0;
}