#include<bits/stdc++.h>
using namespace std;
int inPr[1002];
int inPr1[1002];
vector<pair<int,int>> a[1002];
void prims(int source , int des,int t1,int t2){
priority_queue<pair<int,int>,vector<pair<int,int>>,greater<pair<int,int>>> pq;
for(int i=0;i<1002;i++){
inPr[i]=999999999;
inPr1[i]=false;}
//vector<int>parent(V+1,-1);
//vector<int>key(V+1,100000000);
pq.push(make_pair(0,source));
//key[source]=0;
while(!pq.empty()){
pair<int,int> ss = pq.top();
int vv = ss.second;
int ww = ss.first;
if(vv==des) {cout<<"Yes"<<endl;return;}
pq.pop();
vector< pair<int, int> >::iterator itr = a[vv].begin();
while (itr != a[vv].end()){
int v = (*itr).second;
int w = (*itr).first;
// cout<<v<<endl;
if(w < t1 || ww>w) continue;
if(inPr[v]>w &&inPr1[v]==false ) {
// cout<<"a"<<endl;
if(v==des && w <=t2) {cout<<"Yes"<<endl;return;}
else if(v==des) cout<<"No"<<endl;
pq.push(make_pair(w,v));
inPr[v]=w;
inPr1[v]=true;
// parent[v]=vv;
}
itr++;
}
}
cout<<"No"<<endl;
}
main()
{
int E;
while(cin>>E){
// clr();
for(int i=0;i<1002;i++){
a[i].clear();}
//a.clear();
for(int i=0;i<E;i++){
int x,y,t;//
cin>>x>>y>>t;
a[x].push_back(make_pair(t,y));
a[y].push_back(make_pair(t,x));
}
int Q;
cin>>Q;
for(int i=0;i<1001;i++) sort(a[i].begin(),a[i].end());
for(int i=0;i<Q;i++) {
int m, t1 , n ,t2;
cin>>m>>t1>>n>>t2;
prims(m,n,t1,t2);
}
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IGluUHJbMTAwMl07CmludCBpblByMVsxMDAyXTsKdmVjdG9yPHBhaXI8aW50LGludD4+IGFbMTAwMl07CnZvaWQgcHJpbXMoaW50IHNvdXJjZSAsIGludCBkZXMsaW50IHQxLGludCB0Mil7CnByaW9yaXR5X3F1ZXVlPHBhaXI8aW50LGludD4sdmVjdG9yPHBhaXI8aW50LGludD4+LGdyZWF0ZXI8cGFpcjxpbnQsaW50Pj4+IHBxOwpmb3IoaW50IGk9MDtpPDEwMDI7aSsrKXsKaW5QcltpXT05OTk5OTk5OTk7CmluUHIxW2ldPWZhbHNlO30KLy92ZWN0b3I8aW50PnBhcmVudChWKzEsLTEpOwovL3ZlY3RvcjxpbnQ+a2V5KFYrMSwxMDAwMDAwMDApOwpwcS5wdXNoKG1ha2VfcGFpcigwLHNvdXJjZSkpOwovL2tleVtzb3VyY2VdPTA7Cgp3aGlsZSghcHEuZW1wdHkoKSl7CiAgICBwYWlyPGludCxpbnQ+IHNzID0gcHEudG9wKCk7CiAgICBpbnQgdnYgPSBzcy5zZWNvbmQ7CiAgICBpbnQgd3cgPSBzcy5maXJzdDsKCmlmKHZ2PT1kZXMpIHtjb3V0PDwiWWVzIjw8ZW5kbDtyZXR1cm47fQogICAgcHEucG9wKCk7CiAgICB2ZWN0b3I8IHBhaXI8aW50LCBpbnQ+ID46Oml0ZXJhdG9yIGl0ciA9IGFbdnZdLmJlZ2luKCk7CiAgICB3aGlsZSAoaXRyICE9IGFbdnZdLmVuZCgpKXsKICAgICAgICBpbnQgdiA9ICgqaXRyKS5zZWNvbmQ7CiAgICAgICAgaW50IHcgPSAoKml0cikuZmlyc3Q7CiAgICAgICAvLyBjb3V0PDx2PDxlbmRsOwogICAgICAgIGlmKHcgPCB0MSAgfHwgd3c+dykgY29udGludWU7CiAgICAgICAgaWYoaW5Qclt2XT53ICYmaW5QcjFbdl09PWZhbHNlICkgewogICAgICAgICAgICAgIC8vICBjb3V0PDwiYSI8PGVuZGw7CiAgICAgICAgICAgIGlmKHY9PWRlcyAmJiB3IDw9dDIpIHtjb3V0PDwiWWVzIjw8ZW5kbDtyZXR1cm47fQogICAgICAgICAgZWxzZSBpZih2PT1kZXMpIGNvdXQ8PCJObyI8PGVuZGw7CiAgICAgICAgICAgICAgICBwcS5wdXNoKG1ha2VfcGFpcih3LHYpKTsKICAgICAgICAgICAgaW5Qclt2XT13OwogICAgICAgICAgICBpblByMVt2XT10cnVlOwogICAgICAgICAgIC8vIHBhcmVudFt2XT12djsKICAgICAgICB9CiAgICAgICAgaXRyKys7CiAgICB9Cn0KY291dDw8Ik5vIjw8ZW5kbDsKfQoKbWFpbigpCnsKICAgIGludCBFOwogICAgd2hpbGUoY2luPj5FKXsKLy8gICAgICAgICAgICBjbHIoKTsKZm9yKGludCBpPTA7aTwxMDAyO2krKyl7CmFbaV0uY2xlYXIoKTt9Ci8vYS5jbGVhcigpOwoKCiAgICAgICAgZm9yKGludCBpPTA7aTxFO2krKyl7CiAgICAgICAgICAgIGludCB4LHksdDsvLwogICAgICAgICAgICBjaW4+Png+Pnk+PnQ7CiAgICAgICAgICAgIGFbeF0ucHVzaF9iYWNrKG1ha2VfcGFpcih0LHkpKTsKICAgICAgICAgICAgYVt5XS5wdXNoX2JhY2sobWFrZV9wYWlyKHQseCkpOwogICAgICAgIH0KICAgICAgICBpbnQgUTsKICAgICAgICBjaW4+PlE7CiAgICAgICAgZm9yKGludCBpPTA7aTwxMDAxO2krKykgc29ydChhW2ldLmJlZ2luKCksYVtpXS5lbmQoKSk7CiAgICAgICAgZm9yKGludCBpPTA7aTxRO2krKykgewogICAgICAgICAgICBpbnQgbSwgdDEgLCBuICx0MjsKICAgICAgICAgICAgY2luPj5tPj50MT4+bj4+dDI7CiAgICAgICAgICAgIHByaW1zKG0sbix0MSx0Mik7CiAgICAgICAgfQogICAgfQoKfQo=