from collections import* def f(s): q=deque([s]) vs=[-1]*n vs[s]=0 while q: p=q.popleft() for v in g[p]: if vs[v]==-1: vs[v]=vs[p]+1 q+=v, return vs def find(x): q=[] while uf[x]^x:q+=x,;x=uf[x] for p in q:uf[p]=x return x def unite(x,y): x,y=find(x),find(y) if x^y:uf[x]=y for _ in range(int(input())): n,m=map(int,input().split()) abc=[[*map(int,input().split())]for _ in range(m)] uf=[*range(n)] d=s=0 g=[[]for _ in range(n)] for a,b,c in abc: a-=1;b-=1 if c==1: unite(a,b) g[a]+=b, g[b]+=a, u,v=find(0),find(n-1) if u==v: s=1 s0=f(0) sn=f(n-1) mn=1<<60 for a,b,c in abc: a-=1;b-=1 la,lb=find(a),find(b) if c==2: if (la,lb)==(u,v): mn=min(mn,s0[a]+1+sn[b]) d=1 if (la,lb)==(v,u): mn=min(mn,s0[b]+1+sn[a]) if s>d: print('Same') print(s0[n-1]) elif s