#include #include #include #include using namespace std; int N,M,P; long Y; vector >G[2<<17]; long D[2<<17]; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cin>>N>>M>>P>>Y; for(int i=0;i>a>>b>>c; G[a].push_back(make_pair(b,c)); G[b].push_back(make_pair(a,c)); } for(int i=2;i<=N;i++)D[i]=9e18; priority_queue >Q; Q.push(make_pair(0L,1)); while(!Q.empty()) { auto[d,u]=Q.top();Q.pop(); d=-d; if(D[u]nd) { D[v]=nd; Q.push(make_pair(-nd,v)); } } } long ans=0; for(;P--;) { int d,e;cin>>d>>e; long v=Y-D[d]; if(v>=0)ans=max(ans,v/e); } cout<