from collections import deque n,m,p,y=map(int,input().split()) edge=[list(map(int,input().split())) for _ in range(m)] shop=[list(map(int,input().split())) for _ in range(p)] E=[[] for _ in range(n+1)] for a,b,c in edge: E[a].append([b,c]) E[b].append([a,c]) ds=dict() for d,e in shop: ds[d]=e D=[0]*(n+1) D[1]=y q=deque([1]) while q: x=q.popleft() for e,c in E[x]: if D[e]