#include<bits/stdc++.h>
using namespace std;
int n,m,q;
int h[200020];
int f[200020][20];
void pre_ST(){
int t=log2(m);
for(int i=1;i<=t;i++){
for(int j=1;j+(1<<i)-1<=m;j++){
f[j][i]=max(f[j][i-1],f[j+(1<<(i-1))][i-1]);
}
}
}
int ST_que(int l,int r){
int t=log2(r-l+1);
return max(f[l][t],f[r-(1<<t)+1][t]);
}
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++)cin>>h[i];
for(int i=1;i<=m;i++)f[i][0]=h[i];
pre_ST();
cin>>q;
while(q--){
bool flag=0;
int x1,x2,y1,y2,k;
cin>>y1>>x1>>y2>>x2;
cin>>k;
y1+=(n-y1)/k*k;
y2+=(n-y2)/k*k;
if(y1==y2){
if(x1>x2)swap(x1,x2);
if(y1<=ST_que(x1,x2))
flag=1;
}
else flag=1;
if(abs(x2-x1)%k!=0)flag=1;
if(flag==0)cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
}