#include "bits/stdc++.h"
using namespace std;

typedef long long ll;
typedef vector<ll> vint;
typedef string st;
typedef map<int,int> mii;
typedef pair<int,int> pii;

#define pb                             push_back
#define int                            long long
#define vsrt(v)                        sort(v.begin(), v.end())
#define all(v)                         v.begin(),v.end()
#define scan(v, n)                     rep(i, 0, n) { cin>>v[i]; }
#define print(v)                       for (auto x : v) { cout << x sp; } cout << endl;
#define show(m)                        lp(m) cout<<x.F<<sp<<x.S<<endl;
#define rep(i, j, k)                   for (long long i = j; i < k; i++)
#define lp(m)                          for(auto &x:m)
#define ascending                      [](const pair<int,int>&a, const pair<int,int>&b){return a.first<b.first;}
#define in                             ll n; cin>>n;
#define vin                            in; vint v(n); scan(v,n);
#define cs                             st s; cin>>s;
#define endl                           <<'\n'
#define sp                             <<" "
#define yes                            {cout << "YES" endl; return;}
#define no                             {cout << "NO" endl; return;}
#define ans(s)                         cout << s endl
#define F                              first
#define S                              second
#define mod                            1000000007
#define off                            false
#define on                             true
#define baire                          string::npos

const int N = 2e5+1;

void fast(void) {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
}

void solve() {
    int n;
    cin>>n;
    int dp[n+1];
    bool vis[n+1];
    memset(vis,0,sizeof(vis));
    vector<vint> g(N+1);
    memset(dp,-1,sizeof(dp));
    rep(i,0,n-1){
        int x,y;
        cin>>x>>y;
        g[x].pb(y);
        g[y].pb(x);
    }
    auto dfs = [&](auto&& self, int u) -> void {
        vis[u] = on;
        cout << u << " ";
        for (auto &x : g[u]) {
            if (vis[x]) continue;
            self(self, x);
        }
    };

    dfs(dfs, 1); 
}

int32_t main() {
    fast();
    int TC(1);
    cin >> TC;
    while (TC--) solve();
}