#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e6+7, P=21, MOD = 1069692137, LP=7;
int pot[MAXN];
int n, q;
vector<int> graf[MAXN];
int kierunek[MAXN];
int p[P][MAXN];
int ojc[MAXN];
int pre[MAXN], rozmiar[MAXN];
int hasz[MAXN];
int akt_pre = 0;
int dist[MAXN];
int odleglosc_jedynki[MAXN];
void dfs(int v) {
akt_pre++;
pre[v] = akt_pre;
rozmiar[v] = 1;
for(auto sasiad : graf[v]) {
dist[sasiad] = dist[v]+1;
hasz[sasiad] = (hasz[v]+pot[dist[sasiad]]*kierunek[sasiad])%MOD;
odleglosc_jedynki[sasiad] = odleglosc_jedynki[v]+1;
if(hasz[v]==0&&kierunek[sasiad]==1) {
dist[sasiad] = 0;
hasz[sasiad] = 0;
odleglosc_jedynki[sasiad] = 0;
}
dfs(sasiad);
rozmiar[v] += rozmiar[sasiad];
}
}
bool czy_przodek(int a, int b) {
if(a==0) return 1;
return (pre[b]>=pre[a])&&(pre[b]<pre[a]+rozmiar[a]);
}
pair<int, int> lca(int a, int b) {
for(int i=P-1; i>=0; i--) {
if(hasz[p[i][a]]!=0&&hasz[p[i][b]]!=0 && hasz[p[i][a]]!=hasz[p[i][b]]) {
a = p[i][a];
b = p[i][b];
}
}
return {a, b};
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cin >> n;
pot[0] = 1;
for(int i=1; i<=n; i++) {
pot[i] = (pot[i-1]*LP)%MOD;
}
for(int i=1; i<=n; i++) {
int a, b;
cin >> a >> b;
graf[i].push_back(a);
graf[i].push_back(b);
kierunek[a] = 1;
kierunek[b] = 2;
ojc[a] = i;
ojc[b] = i;
}
for(int i=1; i<=n; i++) {
p[0][i] = ojc[i];
}
for(int i=1; i<P; i++) {
for(int j=1; j<=n; j++) {
p[i][j] = p[i-1][p[i-1][j]];
//cout << p[i][j] << " ";
}
//cout << "\n";
}
dfs(1);
/*for(int i=1; i<=n; i++) {
cout << hasz[i] << " ";
}
cout << "\n";*/
cin >> q;
while(q--) {
int a, b;
cin >> a >> b;
if(hasz[a]==hasz[b]) {
cout << "TAK\n";
continue;
}
if(odleglosc_jedynki[a]>odleglosc_jedynki[b]) {
cout << "TAK\n";
continue;
}
if(odleglosc_jedynki[b]>odleglosc_jedynki[a]) {
cout << "NIE\n";
continue;
}
if(czy_przodek(b, a)) {
cout << "TAK\n";
continue;
}
if(czy_przodek(a, b)) {
cout << "NIE\n";
continue;
}
pair<int, int> w = lca(a, b);
//cout << w.first << " " << w.second << "\n";
if(kierunek[w.first]==2) {
cout << "TAK\n";
}
else {
cout << "NIE\n";
}
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpjb25zdCBpbnQgTUFYTiA9IDFlNis3LCBQPTIxLCBNT0QgPSAxMDY5NjkyMTM3LCBMUD03OwoKaW50IHBvdFtNQVhOXTsKCmludCBuLCBxOwp2ZWN0b3I8aW50PiBncmFmW01BWE5dOwppbnQga2llcnVuZWtbTUFYTl07CmludCBwW1BdW01BWE5dOwppbnQgb2pjW01BWE5dOwoKaW50IHByZVtNQVhOXSwgcm96bWlhcltNQVhOXTsKaW50IGhhc3pbTUFYTl07CmludCBha3RfcHJlID0gMDsKaW50IGRpc3RbTUFYTl07CmludCBvZGxlZ2xvc2NfamVkeW5raVtNQVhOXTsKCnZvaWQgZGZzKGludCB2KSB7CiAgICBha3RfcHJlKys7CiAgICBwcmVbdl0gPSBha3RfcHJlOwogICAgcm96bWlhclt2XSA9IDE7CgogICAgZm9yKGF1dG8gc2FzaWFkIDogZ3JhZlt2XSkgewogICAgICAgIGRpc3Rbc2FzaWFkXSA9IGRpc3Rbdl0rMTsKICAgICAgICBoYXN6W3Nhc2lhZF0gPSAoaGFzelt2XStwb3RbZGlzdFtzYXNpYWRdXSpraWVydW5la1tzYXNpYWRdKSVNT0Q7CiAgICAgICAgb2RsZWdsb3NjX2plZHlua2lbc2FzaWFkXSA9IG9kbGVnbG9zY19qZWR5bmtpW3ZdKzE7CgogICAgICAgIGlmKGhhc3pbdl09PTAmJmtpZXJ1bmVrW3Nhc2lhZF09PTEpIHsKICAgICAgICAgICAgZGlzdFtzYXNpYWRdID0gMDsKICAgICAgICAgICAgaGFzeltzYXNpYWRdID0gMDsKICAgICAgICAgICAgb2RsZWdsb3NjX2plZHlua2lbc2FzaWFkXSA9IDA7CiAgICAgICAgfQoKICAgICAgICBkZnMoc2FzaWFkKTsKICAgICAgICByb3ptaWFyW3ZdICs9IHJvem1pYXJbc2FzaWFkXTsKICAgIH0KfQoKYm9vbCBjenlfcHJ6b2RlayhpbnQgYSwgaW50IGIpIHsKICAgIGlmKGE9PTApIHJldHVybiAxOwogICAgcmV0dXJuIChwcmVbYl0+PXByZVthXSkmJihwcmVbYl08cHJlW2FdK3Jvem1pYXJbYV0pOyAKfQoKcGFpcjxpbnQsIGludD4gbGNhKGludCBhLCBpbnQgYikgewogICAgZm9yKGludCBpPVAtMTsgaT49MDsgaS0tKSB7CiAgICAgICAgaWYoaGFzeltwW2ldW2FdXSE9MCYmaGFzeltwW2ldW2JdXSE9MCAmJiBoYXN6W3BbaV1bYV1dIT1oYXN6W3BbaV1bYl1dKSB7CiAgICAgICAgICAgIGEgPSBwW2ldW2FdOwogICAgICAgICAgICBiID0gcFtpXVtiXTsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4ge2EsIGJ9Owp9CgppbnQgbWFpbigpIHsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICBjaW4udGllKDApOwoKCiAgICBjaW4gPj4gbjsKCiAgICBwb3RbMF0gPSAxOwogICAgZm9yKGludCBpPTE7IGk8PW47IGkrKykgewogICAgICAgIHBvdFtpXSA9IChwb3RbaS0xXSpMUCklTU9EOyAKICAgIH0KCiAgICBmb3IoaW50IGk9MTsgaTw9bjsgaSsrKSB7CiAgICAgICAgaW50IGEsIGI7CiAgICAgICAgY2luID4+IGEgPj4gYjsKICAgICAgICBncmFmW2ldLnB1c2hfYmFjayhhKTsKICAgICAgICBncmFmW2ldLnB1c2hfYmFjayhiKTsKICAgICAgICBraWVydW5la1thXSA9IDE7CiAgICAgICAga2llcnVuZWtbYl0gPSAyOwogICAgICAgIG9qY1thXSA9IGk7CiAgICAgICAgb2pjW2JdID0gaTsKICAgIH0KICAgIAogICAgZm9yKGludCBpPTE7IGk8PW47IGkrKykgewogICAgICAgIHBbMF1baV0gPSBvamNbaV07CiAgICB9CgogICAgZm9yKGludCBpPTE7IGk8UDsgaSsrKSB7CiAgICAgICAgZm9yKGludCBqPTE7IGo8PW47IGorKykgewogICAgICAgICAgICBwW2ldW2pdID0gcFtpLTFdW3BbaS0xXVtqXV07CiAgICAgICAgICAgIC8vY291dCA8PCBwW2ldW2pdIDw8ICIgIjsKICAgICAgICB9CiAgICAgICAgLy9jb3V0IDw8ICJcbiI7CiAgICB9CgogICAgZGZzKDEpOwoKICAgIC8qZm9yKGludCBpPTE7IGk8PW47IGkrKykgewogICAgICAgIGNvdXQgPDwgaGFzeltpXSA8PCAiICI7CiAgICB9CiAgICBjb3V0IDw8ICJcbiI7Ki8KCgogICAgY2luID4+IHE7CgogICAgd2hpbGUocS0tKSB7CiAgICAgICAgaW50IGEsIGI7CiAgICAgICAgY2luID4+IGEgPj4gYjsKICAgICAgICBpZihoYXN6W2FdPT1oYXN6W2JdKSB7CiAgICAgICAgICAgIGNvdXQgPDwgIlRBS1xuIjsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgfQoKICAgICAgICBpZihvZGxlZ2xvc2NfamVkeW5raVthXT5vZGxlZ2xvc2NfamVkeW5raVtiXSkgewogICAgICAgICAgICBjb3V0IDw8ICJUQUtcbiI7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICBpZihvZGxlZ2xvc2NfamVkeW5raVtiXT5vZGxlZ2xvc2NfamVkeW5raVthXSkgewogICAgICAgICAgICBjb3V0IDw8ICJOSUVcbiI7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KCiAgICAgICAgaWYoY3p5X3Byem9kZWsoYiwgYSkpIHsKICAgICAgICAgICAgY291dCA8PCAiVEFLXG4iOwogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgaWYoY3p5X3Byem9kZWsoYSwgYikpIHsKICAgICAgICAgICAgY291dCA8PCAiTklFXG4iOwogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgcGFpcjxpbnQsIGludD4gdyA9IGxjYShhLCBiKTsKICAgICAgICAvL2NvdXQgPDwgdy5maXJzdCA8PCAiICIgPDwgdy5zZWNvbmQgPDwgIlxuIjsKICAgICAgICBpZihraWVydW5la1t3LmZpcnN0XT09MikgewogICAgICAgICAgICBjb3V0IDw8ICJUQUtcbiI7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICBjb3V0IDw8ICJOSUVcbiI7CiAgICAgICAgfQogICAgfQoKICAgIAoKICAgIHJldHVybiAwOwp9
MzUKMCAyCjE5IDMKNCAwCjUgMAo2IDAKNyAwCjggMAo5IDAKMTAgMAoxMSAwCjEyIDAKMTMgMAowIDE0CjE1IDAKMCAxNgoxNyAwCjAgMTgKMCAwCjIwIDAKMjEgMAowIDIyCjAgMjMKMjQgMAoyNSAwCjAgMjYKMCAyNwoyOCAwCjI5IDAKMCAzMAozMSAwCjMyIDAKMCAzMwozNCAwCjM1IDAKMCAwCjEKMTggMzU=
35
0 2
19 3
4 0
5 0
6 0
7 0
8 0
9 0
10 0
11 0
12 0
13 0
0 14
15 0
0 16
17 0
0 18
0 0
20 0
21 0
0 22
0 23
24 0
25 0
0 26
0 27
28 0
29 0
0 30
31 0
32 0
0 33
34 0
35 0
0 0
1
18 35