#include<iostream>
#include<queue>
using namespace std;
int map[110][110];
int vis[110];
void bfs(int a[110][110],int n,int t)
{
int label[n+1];
for(int j=0;j<=n;j++)
label[j]=0;
queue<int>q;
q.push(t);
label[t]=1;
while(!q.empty())
{
int key=q.front();
cout<<key<<" ";
q.pop();
for(int i=0;i<n;i++)
{
if(a[key][i]!=0&&label[i]==0)
{
q.push(i);
label[i]=1;
}
}
}
cout<<endl;
}
int main()
{
int k,m,t,u,v,n;
cin>>n;
while(n--)
{
cin>>k>>m>>t;
for(int i=0;i<m;i++)
{
cin>>u>>v;
map[u][v]=map[v][u]=1;
}
bfs(map,k,t);
}
}
#include<queue>
using namespace std;
int map[110][110];
int vis[110];
void bfs(int a[110][110],int n,int t)
{
int label[n+1];
for(int j=0;j<=n;j++)
label[j]=0;
queue<int>q;
q.push(t);
label[t]=1;
while(!q.empty())
{
int key=q.front();
cout<<key<<" ";
q.pop();
for(int i=0;i<n;i++)
{
if(a[key][i]!=0&&label[i]==0)
{
q.push(i);
label[i]=1;
}
}
}
cout<<endl;
}
int main()
{
int k,m,t,u,v,n;
cin>>n;
while(n--)
{
cin>>k>>m>>t;
for(int i=0;i<m;i++)
{
cin>>u>>v;
map[u][v]=map[v][u]=1;
}
bfs(map,k,t);
}
}