z=10**9 n,m,s,t=gets.split.map &:to_i o=[] m.times{ a,b,c=gets.split.map &:to_i o<<[a,b,c]<<[b,a,c] # o+=[[a,b,c],[b,a,c]] } d=[z]*n d[t]=0 n.times{ o.map{|a,b,c| d[a]=[d[a],c+d[b]].min } } print u=s ( print' ',u=o.map{|a,b,c| u!=a||d[a]