#import #define r(n)for(l i=0;i; vector D(l N,l S,auto G){ vectord(N,1e18),v(N); priority_queue,greater>Q; d[S]=0; Q.push({0,S}); while(!Q.empty()){ l p=Q.top().second;Q.pop(); if(v[p])continue; v[p]=1; for(auto[n,c]:G[p])if(d[n]>d[p]+c){ d[n]=d[p]+c; Q.push({d[n],n}); } } return d; } main(){ l n,m,c,u,v,w; cin>>n>>m>>c; vector>g(n),G(n*2); r(m){ cin>>u>>v>>w; u--;v--; g[u].p({v,w+c});g[v].p({u,w+c}); G[u].p({v,w+c});G[v].p({u,w+c}); G[u].p({v+n,c});G[v].p({u+n,c}); G[u+n].p({v+n,w+c});G[v+n].p({u+n,w+c}); } vectora=D(n,0,g),b=D(n*2,n-1,G); r(n-1)cout<