#include using namespace std; #include using namespace atcoder; using ll=long long; ll opmax(ll a,ll b){return max(a,b);} ll emax(){return -1e18;} ll opmin(ll a,ll b){return min(a,b);} ll emin(){return 1e18;} int main() { ll N; cin>>N; segtree segH(N),segL(N),segR(N); segtree segl(N),segr(N),segh(N); vector A(N),B(N),D(N); for(int i=0;i>A[i]>>B[i]>>D[i]; segH.set(i,B[i]-D[i]); segl.set(i,B[i]-A[i]); segr.set(i,B[i]+A[i]); segh.set(i,B[i]); segL.set(i,B[i]-A[i]-2*D[i]); segR.set(i,B[i]+A[i]-2*D[i]); } ll Q; cin>>Q; for(int q=0;q>S>>Lq>>Rq; S--;Lq--; ll h=segh.prod(Lq,Rq); ll l=segl.prod(Lq,Rq); ll r=segr.prod(Lq,Rq); ll H=segH.prod(Lq,Rq); ll L=segL.prod(Lq,Rq); ll R=segR.prod(Lq,Rq); // cout<=B[S])OK=0; if(l<=B[S]-A[S]-2*D[S]||L>=B[S]-A[S])OK=0; if(r<=B[S]+A[S]-2*D[S]||R>=B[S]+A[S])OK=0; cout<<(OK?"Yes":"No")<