#include #include #include #include #include #include using namespace std; using ll=long long; int main(){ cin.tie(nullptr); ios::sync_with_stdio(false); int h,w; cin>>h>>w; int sx,sy; cin>>sx>>sy; sx--;sy--; vector s(h); for(int i=0;i>s[i]; vector dx={1,0,-1,0,1,1,-1,-1},dy={0,1,0,-1,1,-1,1,-1}; vector dist(17,vector(h,vector(w,2e9))); dist[0][sx][sy]=0; deque> deq; deq.push_back({0,0,sx,sy}); while(!deq.empty()){ auto[d,c,x,y]=deq.front(); deq.pop_front(); if(d>dist[c][x][y])continue; //if(c==0)cout<=h||ny<0||ny>=w||s[nx][ny]=='#')continue; if(!(c==0||(c-1)%8!=r)){ int w=0; int nc=1+r+8*((d+w)%2); if(dist[nc][nx][ny]<=d+w)continue; dist[nc][nx][ny]=d+w; if(w==0)deq.push_front({d,nc,nx,ny}); else deq.push_back({d+1,nc,nx,ny}); } { int w=1; int nc=1+r+8*((d+w)%2); if(dist[nc][nx][ny]<=d+w)continue; dist[nc][nx][ny]=d+w; if(w==0)deq.push_front({d,nc,nx,ny}); else deq.push_back({d+1,nc,nx,ny}); } } } int q; cin>>q; while(q--){ int gx,gy,t; cin>>gx>>gy>>t; gx--;gy--; bool ok=false; for(int i=1;i<=16;i++){ if(dist[i][gx][gy]<=t&&(t-dist[i][gx][gy])%2==0)ok=true; } if(ok)cout<<"Yes"<