#include <bits/stdc++.h>
#define maxn 1005
using namespace std;
int T, v, e, u;
vector<int> a[maxn];
bool vis[maxn];
vector<int> res;
void dfs(int u){
vis[u] = 1;
res.push_back(u);
for(int v : a[u])
{
if(!vis[v]){
dfs(v);
}
}
}
int main()
{
cin >> T;
while(T--){
cin >> v >> e >> u;
for(int i = 1; i <= v; ++i)
a[i].clear();
for(int i = 1; i <= e; ++i){
int x, y; cin >> x >> y;
a[x].push_back(y);
a[y].push_back(x);
}
dfs(u);
for(int i : res)
cout << i << " ";
cout << "\n";
res.clear();
memset(vis, false, sizeof vis);
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbWF4biAxMDA1CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgVCwgdiwgZSwgdTsKdmVjdG9yPGludD4gYVttYXhuXTsKYm9vbCB2aXNbbWF4bl07CnZlY3RvcjxpbnQ+IHJlczsKdm9pZCBkZnMoaW50IHUpewogICAgdmlzW3VdID0gMTsgCiAgICByZXMucHVzaF9iYWNrKHUpOyAKICAgIGZvcihpbnQgdiA6IGFbdV0pCiAgICB7CiAgICAgICAgaWYoIXZpc1t2XSl7CiAgICAgICAgICAgIGRmcyh2KTsKICAgICAgICB9CiAgICB9Cn0KaW50IG1haW4oKQp7CiAgICBjaW4gPj4gVDsKICAgIHdoaWxlKFQtLSl7CiAgICAgICAgY2luID4+IHYgPj4gZSA+PiB1OyAKICAgICAgICBmb3IoaW50IGkgPSAxOyBpIDw9IHY7ICsraSkKICAgICAgICAgICAgYVtpXS5jbGVhcigpOwogICAgICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gZTsgKytpKXsKICAgICAgICAgICAgaW50IHgsIHk7IGNpbiA+PiB4ID4+IHk7IAogICAgICAgICAgICBhW3hdLnB1c2hfYmFjayh5KTsgCiAgICAgICAgICAgIGFbeV0ucHVzaF9iYWNrKHgpOwogICAgICAgIH0KICAgICAgICBkZnModSk7CiAgICAgICAgZm9yKGludCBpIDogcmVzKQogICAgICAgICAgICBjb3V0IDw8IGkgPDwgIiAiOwogICAgICAgIGNvdXQgPDwgIlxuIjsKICAgICAgICByZXMuY2xlYXIoKTsKICAgICAgICBtZW1zZXQodmlzLCBmYWxzZSwgc2l6ZW9mIHZpcyk7CiAgICB9CiAgICByZXR1cm4gMDsKfQo=