// @adi28galaxyak
// Content:
#include "bits/stdc++.h"
using namespace std;
typedef long long ll;
typedef vector<int> vi;
typedef vector< vi > vii;
typedef pair<int, int> pii;
#define FF first
#define SS second
#define pb(v) push_back(v)
#define mp(x,y) make_pair(x, y)
#define s(n) scanf("%d",&n)
#define rep(i,start,end) for(int i = start;i<end;i++)
const int MAX = 1e5;
vi tree[MAX+5];
vector< stack<int> > rtree(MAX+5);
set<int> ans;
int mh;
void ldfs(int id, int ht, int p = -1){
if(ht>mh) {
ans.insert(id);
mh = ht;
}
for(auto it: tree[id]){
if(it!=p){
ldfs(it, ht+1, id);
}
}
}
void rdfs(int id, int ht, int p=-1){
if(ht>mh) {
ans.insert(id);
mh = ht;
}
while(!rtree[id].empty()){
int x = rtree[id].top();
rtree[id].pop();
if(x!=p){
rdfs(x, ht+1, id);
}
}
}
int main(){
if(false) {
freopen("input06.txt","r",stdin);
freopen("output06.txt","w",stdout);
}
int tt;
s(tt);
while(tt--){
int n, x, y;
cin>>n;
ans.clear();
rep(i,1,n+5) {
tree[i].clear();
while(!rtree[i].empty()) rtree[i].pop();
}
rep(i,0,n-1){
cin>>x>>y;
tree[x].pb(y);
tree[y].pb(x);
rtree[x].push(y);
rtree[y].push(x);
}
mh = 0;
ldfs(1,1);
mh = 0;
rdfs(1,1);
for(auto it: ans){
cout<<it<<" ";
}
cout<<endl;
}
}
Ly8gQGFkaTI4Z2FsYXh5YWsKLy8gQ29udGVudDoKIAojaW5jbHVkZSAiYml0cy9zdGRjKysuaCIKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAp0eXBlZGVmIGxvbmcgbG9uZyBsbDsKdHlwZWRlZiB2ZWN0b3I8aW50PiB2aTsKdHlwZWRlZiB2ZWN0b3I8IHZpID4gdmlpOwp0eXBlZGVmIHBhaXI8aW50LCBpbnQ+IHBpaTsKI2RlZmluZSBGRiBmaXJzdAojZGVmaW5lIFNTIHNlY29uZAojZGVmaW5lIHBiKHYpIHB1c2hfYmFjayh2KQojZGVmaW5lIG1wKHgseSkgbWFrZV9wYWlyKHgsIHkpCiAKI2RlZmluZSBzKG4pIHNjYW5mKCIlZCIsJm4pCiNkZWZpbmUgcmVwKGksc3RhcnQsZW5kKSBmb3IoaW50IGkgPSBzdGFydDtpPGVuZDtpKyspCiAKY29uc3QgaW50IE1BWCA9IDFlNTsKdmkgdHJlZVtNQVgrNV07CnZlY3Rvcjwgc3RhY2s8aW50PiA+IHJ0cmVlKE1BWCs1KTsKc2V0PGludD4gYW5zOwppbnQgbWg7CiAKdm9pZCBsZGZzKGludCBpZCwgaW50IGh0LCBpbnQgcCA9IC0xKXsKICAgIGlmKGh0Pm1oKSB7CiAgICAgICAgYW5zLmluc2VydChpZCk7CiAgICAgICAgbWggPSBodDsKICAgIH0KICAgIGZvcihhdXRvIGl0OiB0cmVlW2lkXSl7CiAgICAgICAgaWYoaXQhPXApewogICAgICAgICAgICBsZGZzKGl0LCBodCsxLCBpZCk7CiAgICAgICAgfQogICAgfQp9CiAKdm9pZCByZGZzKGludCBpZCwgaW50IGh0LCBpbnQgcD0tMSl7CiAgICBpZihodD5taCkgewogICAgICAgIGFucy5pbnNlcnQoaWQpOwogICAgICAgIG1oID0gaHQ7CiAgICB9CiAgICB3aGlsZSghcnRyZWVbaWRdLmVtcHR5KCkpewogICAgICAgIGludCB4ID0gcnRyZWVbaWRdLnRvcCgpOwogICAgICAgIHJ0cmVlW2lkXS5wb3AoKTsKICAgICAgICBpZih4IT1wKXsKICAgICAgICAgICAgcmRmcyh4LCBodCsxLCBpZCk7CiAgICAgICAgfQogICAgfQp9CiAKaW50IG1haW4oKXsKCWlmKGZhbHNlKSB7CgkJZnJlb3BlbigiaW5wdXQwNi50eHQiLCJyIixzdGRpbik7CgkJZnJlb3Blbigib3V0cHV0MDYudHh0IiwidyIsc3Rkb3V0KTsKCX0KCQoJaW50IHR0OwoJcyh0dCk7Cgl3aGlsZSh0dC0tKXsKCSAgICBpbnQgbiwgeCwgeTsKCSAgICBjaW4+Pm47CgkgICAgYW5zLmNsZWFyKCk7CgkgICAgcmVwKGksMSxuKzUpIHsKCSAgICAgICAgdHJlZVtpXS5jbGVhcigpOwoJICAgICAgICB3aGlsZSghcnRyZWVbaV0uZW1wdHkoKSkgcnRyZWVbaV0ucG9wKCk7CiAgICAgICAgfQogICAgICAgIAoJICAgIHJlcChpLDAsbi0xKXsKCSAgICAgICAgY2luPj54Pj55OwoJICAgICAgICB0cmVlW3hdLnBiKHkpOwoJICAgICAgICB0cmVlW3ldLnBiKHgpOwoJICAgICAgICBydHJlZVt4XS5wdXNoKHkpOwoJICAgICAgICBydHJlZVt5XS5wdXNoKHgpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBtaCA9IDA7CiAgICAgICAgbGRmcygxLDEpOwogICAgICAgIG1oID0gMDsKICAgICAgICByZGZzKDEsMSk7CiAgICAgICAgCiAgICAgICAgZm9yKGF1dG8gaXQ6IGFucyl7CiAgICAgICAgICAgIGNvdXQ8PGl0PDwiICI7CiAgICAgICAgfQogICAgICAgIGNvdXQ8PGVuZGw7CiAgICB9Cn0KIA==