#include #define int long long #define endl "\n" using namespace std; #define INF 1e9 vector vis; vector dis; vector>> g; int bfs(int st,int en) { queue> qu; qu.push({st,0}); dis[st] = 0; while (!qu.empty()) { pair curr = qu.front();qu.pop(); if (vis[curr.first]) continue; vis[curr.first] = 1; if (curr.first == en) return curr.second; for (auto v : g[curr.first]) { if (!vis[v.first] && dis[v.first]>dis[curr.first]+1) { dis[v.first] = dis[curr.first]+1; qu.push({v.first,v.second+curr.second}); } } } return -1; } void solve() { g.clear(); dis.clear(); vis.clear(); int n,m;cin>>n>>m; g.resize(n+1); dis.assign(n+1,INF); vis.assign(n+1,0); for (int i = 0; i < m; i++) { int x,y,z;cin>>x>>y>>z; g[x].push_back({y,z-1}); g[y].push_back({x,z-1}); } int dif = bfs(1,n); if (dif==-1 || dif>1) cout << "Unknown" << endl; else if (dif==1) { cout << "Differently" << endl; cout << dis[n] << endl; } else if (dif==0) { cout << "Same" << endl; cout << dis[n] << endl; } } signed main() { ios_base::sync_with_stdio(0); cin.tie(0); int t;cin>>t;while(t--) solve(); }