#include using namespace std; int main() { int T; cin>>T; int INF; INF=INT_MAX; while(T--){ int N,M; cin>>N>>M; vector> A(N+1); vector> B; for(int i=0;i>a>>b>>c; if(c==1){ A[a].push_back(b); A[b].push_back(a); } else{ B.push_back({a,b}); } } vector D(N+1,INF); queue q; D[1]=0; q.push(1); while(!q.empty()){ int v; v=q.front(); q.pop(); for(int x:A[v]){ if(D[x]==INF){ D[x]=D[v]+1; q.push(x); } } } vector E(N+1,INF); while(!q.empty()){ q.pop(); } E[N]=0; q.push(N); while(!q.empty()){ int v; v=q.front(); q.pop(); for(int x:A[v]){ if(E[x]==INF){ E[x]=E[v]+1; q.push(x); } } } if(D[N]!=INF){ cout<<"Same"<<"\n"<