#include <bits/stdc++.h>
using namespace std;
#define int int64_t
int ask(int v) {
cout << "1 " << v + 1 << endl;
int x;
cin >> x;
if(x == -1) {
cout << "2 " << v + 1 << endl;
int t;
cin >> t;
return -1;
}
return x - 1;
};
vector<vector<int>> g;
vector<int> size, block;
void dfs(int v, int p) {
size[v] = 1;
for(auto u: g[v]) {
if(u != p && !block[u]) {
dfs(u, v);
size[v] += size[u];
}
}
}
int get(int v, int p, int n) {
for(auto u: g[v]) {
if(u != p && 2 * size[u] > n && !block[u]) {
return get(u, v, n);
}
}
return v;
}
int find_centroid(int v, int p) {
fill(begin(size), end(size), 0);
dfs(v, p);
return get(v, p, size[v]);
}
void solve() {
int n;
cin >> n;
g.assign(n, vector<int>());
size.assign(n, 0);
block.assign(n, 0);
for(int i = 1; i < n; i++) {
int x, y;
cin >> x >> y;
x--, y--;
g[x].push_back(y);
g[y].push_back(x);
}
int v = find_centroid(0, 0);
while(true) {
int u = ask(v);
if(u != -1) {
block[v] = 1;
v = find_centroid(u, v);
} else {
break;
}
}
}
signed main() {
//freopen("input.txt", "r", stdin);
ios::sync_with_stdio(0);
cin.tie(0);
int t;
cin >> t;
while(t--) {
solve();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKI2RlZmluZSBpbnQgaW50NjRfdAoKaW50IGFzayhpbnQgdikgewoJY291dCA8PCAiMSAiIDw8IHYgKyAxIDw8IGVuZGw7CglpbnQgeDsKCWNpbiA+PiB4OwoJaWYoeCA9PSAtMSkgewoJCWNvdXQgPDwgIjIgIiA8PCB2ICsgMSA8PCBlbmRsOwoJCWludCB0OwoJCWNpbiA+PiB0OwoJCXJldHVybiAtMTsKCX0KCXJldHVybiB4IC0gMTsKfTsKCnZlY3Rvcjx2ZWN0b3I8aW50Pj4gZzsKdmVjdG9yPGludD4gc2l6ZSwgYmxvY2s7Cgp2b2lkIGRmcyhpbnQgdiwgaW50IHApIHsKCXNpemVbdl0gPSAxOwoJZm9yKGF1dG8gdTogZ1t2XSkgewoJCWlmKHUgIT0gcCAmJiAhYmxvY2tbdV0pIHsKCQkJZGZzKHUsIHYpOwoJCQlzaXplW3ZdICs9IHNpemVbdV07CgkJfQoJfQp9CmludCBnZXQoaW50IHYsIGludCBwLCBpbnQgbikgewoJZm9yKGF1dG8gdTogZ1t2XSkgewoJCWlmKHUgIT0gcCAmJiAyICogc2l6ZVt1XSA+IG4gJiYgIWJsb2NrW3VdKSB7CgkJCXJldHVybiBnZXQodSwgdiwgbik7CgkJfQoJfQoJcmV0dXJuIHY7Cn0KCmludCBmaW5kX2NlbnRyb2lkKGludCB2LCBpbnQgcCkgewoJZmlsbChiZWdpbihzaXplKSwgZW5kKHNpemUpLCAwKTsKCWRmcyh2LCBwKTsKCXJldHVybiBnZXQodiwgcCwgc2l6ZVt2XSk7Cn0KCnZvaWQgc29sdmUoKSB7CglpbnQgbjsKCWNpbiA+PiBuOwoJZy5hc3NpZ24obiwgdmVjdG9yPGludD4oKSk7CglzaXplLmFzc2lnbihuLCAwKTsKCWJsb2NrLmFzc2lnbihuLCAwKTsKCWZvcihpbnQgaSA9IDE7IGkgPCBuOyBpKyspIHsKCQlpbnQgeCwgeTsKCQljaW4gPj4geCA+PiB5OwoJCXgtLSwgeS0tOwoJCWdbeF0ucHVzaF9iYWNrKHkpOwoJCWdbeV0ucHVzaF9iYWNrKHgpOwoJfQoJaW50IHYgPSBmaW5kX2NlbnRyb2lkKDAsIDApOwoJd2hpbGUodHJ1ZSkgewoJCWludCB1ID0gYXNrKHYpOwoJCWlmKHUgIT0gLTEpIHsKCQkJYmxvY2tbdl0gPSAxOwoJCQl2ID0gZmluZF9jZW50cm9pZCh1LCB2KTsKCQl9IGVsc2UgewoJCQlicmVhazsKCQl9Cgl9Cn0KCnNpZ25lZCBtYWluKCkgewoJLy9mcmVvcGVuKCJpbnB1dC50eHQiLCAiciIsIHN0ZGluKTsKCWlvczo6c3luY193aXRoX3N0ZGlvKDApOwoJY2luLnRpZSgwKTsKCWludCB0OwoJY2luID4+IHQ7Cgl3aGlsZSh0LS0pIHsKCQlzb2x2ZSgpOwoJfQoJcmV0dXJuIDA7Cn0K