from collections import defaultdict import heapq N,M,P,Y=list(map(int,input().split())) dist=[10**18]*N path=defaultdict(list) for i in range(M): u,v,c=list(map(int,input().split())) u-=1 v-=1 path[u].append((v,c)) path[v].append((u,c)) dist[0]=0 c=set() Q=[] heapq.heapify(Q) heapq.heappush(Q,(0,0)) while len(Q)>0: d,p=heapq.heappop(Q) if p in c: continue c.add(p) for j,v in path[p]: if d+v