//teja349
#include <bits/stdc++.h>
#include <vector>
#include <set>
#include <map>
#include <string>
#include <cstdio>
#include <cstdlib>
#include <climits>
#include <utility>
#include <algorithm>
#include <cmath>
#include <queue>
#include <stack>
#include <iomanip>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
//setbase - cout << setbase (16); cout << 100 << endl; Prints 64
//setfill - cout << setfill ('x') << setw (5); cout << 77 << endl; prints xxx77
//setprecision - cout << setprecision (14) << f << endl; Prints x.xxxx
//cout.precision(x) cout<<fixed<<val; // prints x digits after decimal in val
using namespace std;
using namespace __gnu_pbds;
#define f(i,a,b) for(i=a;i<b;i++)
#define rep(i,n) f(i,0,n)
#define fd(i,a,b) for(i=a;i>=b;i--)
#define pb push_back
#define mp make_pair
#define vi vector< int >
#define vl vector< ll >
#define ss second
#define ff first
#define ll long long
#define pii pair< int,int >
#define pll pair< ll,ll >
#define sz(a) a.size()
#define inf (1000*1000*1000+5)
#define all(a) a.begin(),a.end()
#define tri pair<int,pii>
#define vii vector<pii>
#define vll vector<pll>
#define viii vector<tri>
#define mod (1000*1000*1000+7)
#define pqueue priority_queue< int >
#define pdqueue priority_queue< int,vi ,greater< int > >
#define flush fflush(stdout)
#define primeDEN 727999983
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
// find_by_order() // order_of_key
typedef tree<
int,
null_type,
less<int>,
rb_tree_tag,
tree_order_statistics_node_update>
ordered_set;
vector< set<int> > adj(212345);
int subtree[212345];
int query(int val){
cout<<1<<" "<<val<<endl;
fflush(stdout);
cin>>val;
return val;
}
int dfs(int cur,int par){
set<int>::iterator it;
//cout<<cur<<" "<<par<<endl;
subtree[cur]=1;
for(it=adj[cur].begin();it!=adj[cur].end();it++){
if(*it==par)
continue;
dfs(*it,cur);
subtree[cur]+=subtree[*it];
}
return 0;
}
int findcentroid(int cur,int par,int req){
set<int>::iterator it;
for(it=adj[cur].begin();it!=adj[cur].end();it++){
if(*it==par)
continue;
if(subtree[*it]>req){
return findcentroid(*it,cur,req);
}
}
return cur;
}
int solve(int cur){
dfs(cur,-1);
int val=findcentroid(cur,-1,subtree[cur]/2);
//cout<<"centroid "<<subtree[cur]<<endl;
int gg=query(val);
if(gg==-1)
return val;
else{
adj[gg].erase(val);
return solve(gg);
}
}
int main(){
std::ios::sync_with_stdio(false); cin.tie(NULL);
int t;
cin>>t;
while(t--){
int n;
cin>>n;
int i;
int u,v;
rep(i,n+10){
adj[i].clear();
}
rep(i,n-1){
cin>>u>>v;
adj[u].insert(v);
adj[v].insert(u);
}
int ans=solve(1);
cout<<2<<" "<<ans<<endl;
cin>>ans;
fflush(stdout);
}
return 0;
}
Ly90ZWphMzQ5CiNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8c2V0PgojaW5jbHVkZSA8bWFwPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8Y3N0ZGlvPgojaW5jbHVkZSA8Y3N0ZGxpYj4KI2luY2x1ZGUgPGNsaW1pdHM+CiNpbmNsdWRlIDx1dGlsaXR5PgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8Y21hdGg+CiNpbmNsdWRlIDxxdWV1ZT4KI2luY2x1ZGUgPHN0YWNrPgojaW5jbHVkZSA8aW9tYW5pcD4KI2luY2x1ZGUgPGV4dC9wYl9kcy9hc3NvY19jb250YWluZXIuaHBwPgojaW5jbHVkZSA8ZXh0L3BiX2RzL3RyZWVfcG9saWN5LmhwcD4gCi8vc2V0YmFzZSAtIGNvdXQgPDwgc2V0YmFzZSAoMTYpOyBjb3V0IDw8IDEwMCA8PCBlbmRsOyBQcmludHMgNjQKLy9zZXRmaWxsIC0gICBjb3V0IDw8IHNldGZpbGwgKCd4JykgPDwgc2V0dyAoNSk7IGNvdXQgPDwgNzcgPDwgZW5kbDsgcHJpbnRzIHh4eDc3Ci8vc2V0cHJlY2lzaW9uIC0gY291dCA8PCBzZXRwcmVjaXNpb24gKDE0KSA8PCBmIDw8IGVuZGw7IFByaW50cyB4Lnh4eHgKLy9jb3V0LnByZWNpc2lvbih4KSAgY291dDw8Zml4ZWQ8PHZhbDsgIC8vIHByaW50cyB4IGRpZ2l0cyBhZnRlciBkZWNpbWFsIGluIHZhbAoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdXNpbmcgbmFtZXNwYWNlIF9fZ251X3BiZHM7CgojZGVmaW5lIGYoaSxhLGIpIGZvcihpPWE7aTxiO2krKykKI2RlZmluZSByZXAoaSxuKSBmKGksMCxuKQojZGVmaW5lIGZkKGksYSxiKSBmb3IoaT1hO2k+PWI7aS0tKQojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIG1wIG1ha2VfcGFpcgojZGVmaW5lIHZpIHZlY3RvcjwgaW50ID4KI2RlZmluZSB2bCB2ZWN0b3I8IGxsID4KI2RlZmluZSBzcyBzZWNvbmQKI2RlZmluZSBmZiBmaXJzdAojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIHBpaSBwYWlyPCBpbnQsaW50ID4KI2RlZmluZSBwbGwgcGFpcjwgbGwsbGwgPgojZGVmaW5lIHN6KGEpIGEuc2l6ZSgpCiNkZWZpbmUgaW5mICgxMDAwKjEwMDAqMTAwMCs1KQojZGVmaW5lIGFsbChhKSBhLmJlZ2luKCksYS5lbmQoKQojZGVmaW5lIHRyaSBwYWlyPGludCxwaWk+CiNkZWZpbmUgdmlpIHZlY3RvcjxwaWk+CiNkZWZpbmUgdmxsIHZlY3RvcjxwbGw+CiNkZWZpbmUgdmlpaSB2ZWN0b3I8dHJpPgojZGVmaW5lIG1vZCAoMTAwMCoxMDAwKjEwMDArNykKI2RlZmluZSBwcXVldWUgcHJpb3JpdHlfcXVldWU8IGludCA+CiNkZWZpbmUgcGRxdWV1ZSBwcmlvcml0eV9xdWV1ZTwgaW50LHZpICxncmVhdGVyPCBpbnQgPiA+CiNkZWZpbmUgZmx1c2ggZmZsdXNoKHN0ZG91dCkgCiNkZWZpbmUgcHJpbWVERU4gNzI3OTk5OTgzCm10MTk5Mzcgcm5nKGNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKS50aW1lX3NpbmNlX2Vwb2NoKCkuY291bnQoKSk7CgovLyBmaW5kX2J5X29yZGVyKCkgIC8vIG9yZGVyX29mX2tleQp0eXBlZGVmIHRyZWU8CmludCwKbnVsbF90eXBlLApsZXNzPGludD4sCnJiX3RyZWVfdGFnLAp0cmVlX29yZGVyX3N0YXRpc3RpY3Nfbm9kZV91cGRhdGU+Cm9yZGVyZWRfc2V0OwoKdmVjdG9yPCBzZXQ8aW50PiA+IGFkaigyMTIzNDUpOwoKaW50IHN1YnRyZWVbMjEyMzQ1XTsKaW50IHF1ZXJ5KGludCB2YWwpewoJY291dDw8MTw8IiAiPDx2YWw8PGVuZGw7CglmZmx1c2goc3Rkb3V0KTsKCWNpbj4+dmFsOwoJcmV0dXJuIHZhbDsKfQoKaW50IGRmcyhpbnQgY3VyLGludCBwYXIpewoJc2V0PGludD46Oml0ZXJhdG9yIGl0OwoJLy9jb3V0PDxjdXI8PCIgIjw8cGFyPDxlbmRsOwoJc3VidHJlZVtjdXJdPTE7Cglmb3IoaXQ9YWRqW2N1cl0uYmVnaW4oKTtpdCE9YWRqW2N1cl0uZW5kKCk7aXQrKyl7CgkJaWYoKml0PT1wYXIpCgkJCWNvbnRpbnVlOwoJCWRmcygqaXQsY3VyKTsKCQlzdWJ0cmVlW2N1cl0rPXN1YnRyZWVbKml0XTsKCX0KCglyZXR1cm4gMDsKfQppbnQgZmluZGNlbnRyb2lkKGludCBjdXIsaW50IHBhcixpbnQgcmVxKXsKCXNldDxpbnQ+OjppdGVyYXRvciBpdDsKCWZvcihpdD1hZGpbY3VyXS5iZWdpbigpO2l0IT1hZGpbY3VyXS5lbmQoKTtpdCsrKXsKCQlpZigqaXQ9PXBhcikKCQkJY29udGludWU7CgkJaWYoc3VidHJlZVsqaXRdPnJlcSl7CgkJCXJldHVybiBmaW5kY2VudHJvaWQoKml0LGN1cixyZXEpOwoJCX0KCX0KCXJldHVybiBjdXI7Cn0KaW50IHNvbHZlKGludCBjdXIpewoJZGZzKGN1ciwtMSk7CglpbnQgdmFsPWZpbmRjZW50cm9pZChjdXIsLTEsc3VidHJlZVtjdXJdLzIpOwoJLy9jb3V0PDwiY2VudHJvaWQgIjw8c3VidHJlZVtjdXJdPDxlbmRsOwoJaW50IGdnPXF1ZXJ5KHZhbCk7CglpZihnZz09LTEpCgkJcmV0dXJuIHZhbDsKCWVsc2V7CgkJYWRqW2dnXS5lcmFzZSh2YWwpOwoJCXJldHVybiBzb2x2ZShnZyk7Cgl9CgoKfQppbnQgbWFpbigpewogICAgc3RkOjppb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7IGNpbi50aWUoTlVMTCk7CglpbnQgdDsKCWNpbj4+dDsKCXdoaWxlKHQtLSl7CgkJaW50IG47CgkJY2luPj5uOwoJCWludCBpOwoJCWludCB1LHY7CgkJcmVwKGksbisxMCl7CgkJCWFkaltpXS5jbGVhcigpOwoJCX0KCQlyZXAoaSxuLTEpewoJCQljaW4+PnU+PnY7CgkJCWFkalt1XS5pbnNlcnQodik7CgkJCWFkalt2XS5pbnNlcnQodSk7CgkJfQoJCWludCBhbnM9c29sdmUoMSk7CgkJY291dDw8Mjw8IiAiPDxhbnM8PGVuZGw7CgkJY2luPj5hbnM7CgkJZmZsdXNoKHN0ZG91dCk7Cgl9CiAgICByZXR1cm4gMDsgICAKfQ==