#include using namespace std; void solve(){ int inf=1e9; int n,m; cin>>n>>m; vector> g(n); vector> vp; for (int i=0;i>a>>b>>c; a--;b--; if (c==1){ g[a].push_back(b); g[b].push_back(a); } if (c==2) vp.push_back({a,b}); } auto f=[&](int s){ vector dist(n,inf); queue q; dist[s]=0; q.push(s); while (!q.empty()){ int v=q.front(); q.pop(); for (int u:g[v]){ if (dist[u]!=inf) continue; dist[u]=dist[v]+1; q.push(u); } } return dist; }; auto d1=f(0),d2=f(n-1); if (d1[n-1]!=inf){ cout<<"Same\n"; cout<>t; while (t--) solve(); }