#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
const int MAX=500005;
int n,q;
int d,a[MAX],query[MAX],dp[MAX],pos[MAX];
bool ans[MAX];
int main()
{
	scanf("%d%d",&n,&d);
	for(int i=1;i<=n;++i){
		scanf("%d",&a[i]);
	}
	scanf("%d",&q);
	for(int i=1;i<=q;++i){
		scanf("%d",&query[i]);
	}
	dp[n]=1;
	for(int i=n-1;i>=1;--i){
		if(dp[i+1]<=(a[i+1]/2)) dp[i]=dp[i+1];
		else dp[i]=dp[i+1]+a[i+1];
	}
	pos[0]=d;
	for(int i=1;i<=n;++i){	
		if(d>abs(d-a[i])){
			d=abs(d-a[i]);
		}
		pos[i]=d;
	}
	for(int i=1;i<=q;++i){
		if(pos[query[i]-1]>=dp[query[i]]) cout<<"YES"<<endl;
		else cout<<"NO"<<endl;
	}
	return 0;
}