#include<bits/stdc++.h>
using namespace std;
int g[105][105];
bool vis[105];
int n,m;
void sol();
void dfs(int x){
for(int i=1;i<=n;i++){
if(g[x][i]==0) continue;
if(vis[i]) continue;
vis[i]=true;
cout<<"-"<<i;
dfs(i);
}
return;
}
int main(){
int T;
cin>>T;
while(T--) sol();
return 0;
}
void sol(){
cin>>n>>m;
memset(vis,false,sizeof(vis));
memset(g,false,sizeof(g));
for(int i=1;i<=m;i++){
int u,v,w;
cin>>u>>v>>w;
g[u][v]=1;
g[v][u]=1;
}
int x;
cin>>x;
vis[x]=true;
cout<<x;
dfs(x);
cout<<endl;
return;
}