#include<bits/stdc++.h>usingnamespacestd;classTree{public:intn,timer;vector<vector<int>>adj;vector<int>tin,tout;Tree(intn){this->n=n;adj.resize(n);tin.resize(n);tout.resize(n);timer=0;}public:voiddfs(intsrc,intpar){tin[src]=++timer;for(autochild:adj[src]){if(child!=par){dfs(child,src);}}tout[src]=++timer;}};voidsolve(){intn;cin>>n;Treet(n);for(inti=0;i<n-1;i++){intx,y;cin>>x>>y;x--;y--;t.adj[x].push_back(y);t.adj[y].push_back(x);}t.dfs(0,-1);intq;cin>>q;for(inti=0;i<q;i++){intx,y;cin>>x>>y;x--;y--;// Is x an ancestor of y?
if(t.tin[x]<=t.tin[y]&&t.tout[x]>=t.tout[y]){cout<<"YES"<<"\n";}else{cout<<"NO"<<"\n";}}}intmain(){intt;cin>>t;for(intzz=0;zz<t;zz++){solve();}return0;}