//#pragma GCC optimize("Ofast,unroll-loops")
//#pragma GCC target("avx2,tune=native")
#include <bits/stdc++.h>
using namespace std;
#define file "o"
#define ff(i,a,b) for(auto i=(a); i<=(b); ++i)
#define ffr(i,b,a) for(auto i=(b); i>=(a); --i)
#define nl "\n"
#define ss " "
#define pb emplace_back
#define fi first
#define se second
#define sz(s) (int)(s).size()
#define all(s) (s).begin(), (s).end()
#define ms(a,x) memset(a,x,sizeof(a))
#define cn continue
#define re exit(0)
typedef long long ll;
typedef vector<int> vi;
inline void rf(){
ios::sync_with_stdio(false);
cin.tie(nullptr); cout.tie(nullptr);
if(fopen(file".inp","r")){
freopen(file".inp","r",stdin);
freopen(file".out","w",stdout);
}
}
struct BIT {
int n; vi f;
BIT(){} BIT(int n):n(n),f(n+1,0){}
inline void add(int i,int v){ for(; i<=n; i+=i&-i) f[i]+=v; }
inline int sum(int i){ int r=0; for(; i>0; i-=i&-i) r+=f[i]; return r; }
};
struct MST {
int n; vector<vi> t;
MST(){}
MST(const vector<int>& a){ build(a); }
void build(const vector<int>& a){
int m = (int)a.size();
n = 1; while(n < m) n <<= 1;
t.assign(2*n, {});
for(int i=0;i<m;i++) t[n+i] = {a[i]};
for(int i=n-1;i>=1;i--){
auto &L=t[i<<1], &R=t[i<<1|1];
t[i].resize(sz(L)+sz(R));
merge(all(L), all(R), t[i].begin());
}
}
void collect(int l,int r, vector<int>& nodes){
l+=n; r+=n;
vector<int> left, right;
while(l<=r){
if(l&1){ left.pb(l); l++; }
if(!(r&1)){ right.pb(r); r--; }
l>>=1; r>>=1;
}
reverse(all(right));
nodes.clear();
nodes.reserve(sz(left)+sz(right));
for(int id:left) nodes.pb(id);
for(int id:right) nodes.pb(id);
}
};
int main(){
rf();
int n; if(!(cin>>n)) return 0;
vector<vi> g1(n), g2(n);
ff(i,0,n-1){
int d; cin>>d; g1[i].reserve(d);
ff(j,1,d){int x;cin>>x; g1[i].pb(x);}
}
ff(i,0,n-1){
int d; cin>>d; g2[i].reserve(d);
ff(j,1,d){int x;cin>>x; g2[i].pb(x);}
}
auto dfs = [&](const vector<vi>& g){
vi tin(n), tout(n), it(n,0); vector<char> vis(n,0);
vector<int> st; st.pb(0); int T=0;
while(!st.empty()){
int v=st.back();
if(!vis[v]){vis[v]=1; tin[v]=T++;}
if(it[v]<(int)g[v].size()){int u=g[v][it[v]++]; st.pb(u);}
else{tout[v]=T; st.pop_back();}
}
return pair<vi,vi>(tin,tout);
};
auto p1=dfs(g1), p2=dfs(g2);
vi tin1=p1.fi, tout1=p1.se, tin2=p2.fi, tout2=p2.se;
vi ordX(n); ff(v,0,n-1) ordX[tin1[v]]=v;
vi posX(n); ff(i,0,n-1) posX[ordX[i]]=i;
vi y2node(n); ff(v,0,n-1) y2node[tin2[v]]=v;
vector<int> P(n);
ff(y,0,n-1){int v=y2node[y]; P[y]=posX[v];} // x in [0..n-1]
MST mst(P);
BIT bit(n+2);
int q; cin>>q;
vector<string> ans(q);
vector<int> nodes; nodes.reserve(64);
vector<int> used; used.reserve(n);
ff(i,0,q-1){
int u,v; cin>>u>>v;
int Lx=tin1[u], Rx=tout1[u]-1; // x-range inclusive
int Ly=tin2[v], Ry=tout2[v]-1; // y-range inclusive
if(Lx>Rx || Ly>Ry){ ans[i]="YES"; cn; }
mst.collect(Ly,Ry,nodes);
ll inv=0; int inserted=0;
used.clear();
for(int id: nodes){
const auto &vec = mst.t[id];
auto itL = lower_bound(all(vec), Lx);
auto itR = upper_bound(all(vec), Rx);
for(auto it=itL; it!=itR; ++it){
int x = *it + 1; // BIT is 1-based
inv += inserted - bit.sum(x);
bit.add(x,1);
used.pb(x);
++inserted;
}
}
for(int x: used) bit.add(x,-1);
ans[i] = (inv==0 ? "YES" : "NO");
}
ff(i,0,q-1) cout<<ans[i]<<nl;
re;
}
Ly8jcHJhZ21hIEdDQyBvcHRpbWl6ZSgiT2Zhc3QsdW5yb2xsLWxvb3BzIikKLy8jcHJhZ21hIEdDQyB0YXJnZXQoImF2eDIsdHVuZT1uYXRpdmUiKQojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCiNkZWZpbmUgZmlsZSAibyIKI2RlZmluZSBmZihpLGEsYikgZm9yKGF1dG8gaT0oYSk7IGk8PShiKTsgKytpKQojZGVmaW5lIGZmcihpLGIsYSkgZm9yKGF1dG8gaT0oYik7IGk+PShhKTsgLS1pKQojZGVmaW5lIG5sICJcbiIKI2RlZmluZSBzcyAiICIKI2RlZmluZSBwYiBlbXBsYWNlX2JhY2sKI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlIHNlY29uZAojZGVmaW5lIHN6KHMpIChpbnQpKHMpLnNpemUoKQojZGVmaW5lIGFsbChzKSAocykuYmVnaW4oKSwgKHMpLmVuZCgpCiNkZWZpbmUgbXMoYSx4KSBtZW1zZXQoYSx4LHNpemVvZihhKSkKI2RlZmluZSBjbiBjb250aW51ZQojZGVmaW5lIHJlIGV4aXQoMCkKCnR5cGVkZWYgbG9uZyBsb25nIGxsOwp0eXBlZGVmIHZlY3RvcjxpbnQ+IHZpOwoKaW5saW5lIHZvaWQgcmYoKXsKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUobnVsbHB0cik7IGNvdXQudGllKG51bGxwdHIpOwogICAgaWYoZm9wZW4oZmlsZSIuaW5wIiwiciIpKXsKICAgICAgICBmcmVvcGVuKGZpbGUiLmlucCIsInIiLHN0ZGluKTsKICAgICAgICBmcmVvcGVuKGZpbGUiLm91dCIsInciLHN0ZG91dCk7CiAgICB9Cn0KCnN0cnVjdCBCSVQgewogICAgaW50IG47IHZpIGY7CiAgICBCSVQoKXt9IEJJVChpbnQgbik6bihuKSxmKG4rMSwwKXt9CiAgICBpbmxpbmUgdm9pZCBhZGQoaW50IGksaW50IHYpeyBmb3IoOyBpPD1uOyBpKz1pJi1pKSBmW2ldKz12OyB9CiAgICBpbmxpbmUgaW50IHN1bShpbnQgaSl7IGludCByPTA7IGZvcig7IGk+MDsgaS09aSYtaSkgcis9ZltpXTsgcmV0dXJuIHI7IH0KfTsKCnN0cnVjdCBNU1QgewogICAgaW50IG47IHZlY3Rvcjx2aT4gdDsKICAgIE1TVCgpe30gCiAgICBNU1QoY29uc3QgdmVjdG9yPGludD4mIGEpeyBidWlsZChhKTsgfQogICAgdm9pZCBidWlsZChjb25zdCB2ZWN0b3I8aW50PiYgYSl7CiAgICAgICAgaW50IG0gPSAoaW50KWEuc2l6ZSgpOwogICAgICAgIG4gPSAxOyB3aGlsZShuIDwgbSkgbiA8PD0gMTsKICAgICAgICB0LmFzc2lnbigyKm4sIHt9KTsKICAgICAgICBmb3IoaW50IGk9MDtpPG07aSsrKSB0W24raV0gPSB7YVtpXX07CiAgICAgICAgZm9yKGludCBpPW4tMTtpPj0xO2ktLSl7CiAgICAgICAgICAgIGF1dG8gJkw9dFtpPDwxXSwgJlI9dFtpPDwxfDFdOwogICAgICAgICAgICB0W2ldLnJlc2l6ZShzeihMKStzeihSKSk7CiAgICAgICAgICAgIG1lcmdlKGFsbChMKSwgYWxsKFIpLCB0W2ldLmJlZ2luKCkpOwogICAgICAgIH0KICAgIH0KICAgIHZvaWQgY29sbGVjdChpbnQgbCxpbnQgciwgdmVjdG9yPGludD4mIG5vZGVzKXsKICAgICAgICBsKz1uOyByKz1uOwogICAgICAgIHZlY3RvcjxpbnQ+IGxlZnQsIHJpZ2h0OwogICAgICAgIHdoaWxlKGw8PXIpewogICAgICAgICAgICBpZihsJjEpeyBsZWZ0LnBiKGwpOyBsKys7IH0KICAgICAgICAgICAgaWYoIShyJjEpKXsgcmlnaHQucGIocik7IHItLTsgfQogICAgICAgICAgICBsPj49MTsgcj4+PTE7CiAgICAgICAgfQogICAgICAgIHJldmVyc2UoYWxsKHJpZ2h0KSk7CiAgICAgICAgbm9kZXMuY2xlYXIoKTsKICAgICAgICBub2Rlcy5yZXNlcnZlKHN6KGxlZnQpK3N6KHJpZ2h0KSk7CiAgICAgICAgZm9yKGludCBpZDpsZWZ0KSBub2Rlcy5wYihpZCk7CiAgICAgICAgZm9yKGludCBpZDpyaWdodCkgbm9kZXMucGIoaWQpOwogICAgfQp9OwoKaW50IG1haW4oKXsKICAgIHJmKCk7CiAgICBpbnQgbjsgaWYoIShjaW4+Pm4pKSByZXR1cm4gMDsKCiAgICB2ZWN0b3I8dmk+IGcxKG4pLCBnMihuKTsKICAgIGZmKGksMCxuLTEpewogICAgICAgIGludCBkOyBjaW4+PmQ7IGcxW2ldLnJlc2VydmUoZCk7CiAgICAgICAgZmYoaiwxLGQpe2ludCB4O2Npbj4+eDsgZzFbaV0ucGIoeCk7fQogICAgfQogICAgZmYoaSwwLG4tMSl7CiAgICAgICAgaW50IGQ7IGNpbj4+ZDsgZzJbaV0ucmVzZXJ2ZShkKTsKICAgICAgICBmZihqLDEsZCl7aW50IHg7Y2luPj54OyBnMltpXS5wYih4KTt9CiAgICB9CgogICAgYXV0byBkZnMgPSBbJl0oY29uc3QgdmVjdG9yPHZpPiYgZyl7CiAgICAgICAgdmkgdGluKG4pLCB0b3V0KG4pLCBpdChuLDApOyB2ZWN0b3I8Y2hhcj4gdmlzKG4sMCk7CiAgICAgICAgdmVjdG9yPGludD4gc3Q7IHN0LnBiKDApOyBpbnQgVD0wOwogICAgICAgIHdoaWxlKCFzdC5lbXB0eSgpKXsKICAgICAgICAgICAgaW50IHY9c3QuYmFjaygpOwogICAgICAgICAgICBpZighdmlzW3ZdKXt2aXNbdl09MTsgdGluW3ZdPVQrKzt9CiAgICAgICAgICAgIGlmKGl0W3ZdPChpbnQpZ1t2XS5zaXplKCkpe2ludCB1PWdbdl1baXRbdl0rK107IHN0LnBiKHUpO30KICAgICAgICAgICAgZWxzZXt0b3V0W3ZdPVQ7IHN0LnBvcF9iYWNrKCk7fQogICAgICAgIH0KICAgICAgICByZXR1cm4gcGFpcjx2aSx2aT4odGluLHRvdXQpOwogICAgfTsKCiAgICBhdXRvIHAxPWRmcyhnMSksIHAyPWRmcyhnMik7CiAgICB2aSB0aW4xPXAxLmZpLCB0b3V0MT1wMS5zZSwgdGluMj1wMi5maSwgdG91dDI9cDIuc2U7CgogICAgdmkgb3JkWChuKTsgZmYodiwwLG4tMSkgb3JkWFt0aW4xW3ZdXT12OwogICAgdmkgcG9zWChuKTsgZmYoaSwwLG4tMSkgcG9zWFtvcmRYW2ldXT1pOwoKICAgIHZpIHkybm9kZShuKTsgZmYodiwwLG4tMSkgeTJub2RlW3RpbjJbdl1dPXY7CiAgICB2ZWN0b3I8aW50PiBQKG4pOwogICAgZmYoeSwwLG4tMSl7aW50IHY9eTJub2RlW3ldOyBQW3ldPXBvc1hbdl07fSAvLyB4IGluIFswLi5uLTFdCgogICAgTVNUIG1zdChQKTsKICAgIEJJVCBiaXQobisyKTsKCiAgICBpbnQgcTsgY2luPj5xOwogICAgdmVjdG9yPHN0cmluZz4gYW5zKHEpOwogICAgdmVjdG9yPGludD4gbm9kZXM7IG5vZGVzLnJlc2VydmUoNjQpOwogICAgdmVjdG9yPGludD4gdXNlZDsgdXNlZC5yZXNlcnZlKG4pOwoKICAgIGZmKGksMCxxLTEpewogICAgICAgIGludCB1LHY7IGNpbj4+dT4+djsKICAgICAgICBpbnQgTHg9dGluMVt1XSwgUng9dG91dDFbdV0tMTsgICAgICAgICAgLy8geC1yYW5nZSBpbmNsdXNpdmUKICAgICAgICBpbnQgTHk9dGluMlt2XSwgUnk9dG91dDJbdl0tMTsgICAgICAgICAgLy8geS1yYW5nZSBpbmNsdXNpdmUKICAgICAgICBpZihMeD5SeCB8fCBMeT5SeSl7IGFuc1tpXT0iWUVTIjsgY247IH0KCiAgICAgICAgbXN0LmNvbGxlY3QoTHksUnksbm9kZXMpOwogICAgICAgIGxsIGludj0wOyBpbnQgaW5zZXJ0ZWQ9MDsKICAgICAgICB1c2VkLmNsZWFyKCk7CgogICAgICAgIGZvcihpbnQgaWQ6IG5vZGVzKXsKICAgICAgICAgICAgY29uc3QgYXV0byAmdmVjID0gbXN0LnRbaWRdOwogICAgICAgICAgICBhdXRvIGl0TCA9IGxvd2VyX2JvdW5kKGFsbCh2ZWMpLCBMeCk7CiAgICAgICAgICAgIGF1dG8gaXRSID0gdXBwZXJfYm91bmQoYWxsKHZlYyksIFJ4KTsKICAgICAgICAgICAgZm9yKGF1dG8gaXQ9aXRMOyBpdCE9aXRSOyArK2l0KXsKICAgICAgICAgICAgICAgIGludCB4ID0gKml0ICsgMTsgICAgICAgICAgICAgICAvLyBCSVQgaXMgMS1iYXNlZAogICAgICAgICAgICAgICAgaW52ICs9IGluc2VydGVkIC0gYml0LnN1bSh4KTsKICAgICAgICAgICAgICAgIGJpdC5hZGQoeCwxKTsKICAgICAgICAgICAgICAgIHVzZWQucGIoeCk7CiAgICAgICAgICAgICAgICArK2luc2VydGVkOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmb3IoaW50IHg6IHVzZWQpIGJpdC5hZGQoeCwtMSk7CiAgICAgICAgYW5zW2ldID0gKGludj09MCA/ICJZRVMiIDogIk5PIik7CiAgICB9CgogICAgZmYoaSwwLHEtMSkgY291dDw8YW5zW2ldPDxubDsKICAgIHJlOwp9Cg==