#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
int dp[151][3501];
bool sotie[151][3501];
struct nod { int x, c; nod(){}; nod(int a, int b){x=a; c=b;};};
vector<vector<nod> >a;
int hot[151][3501];
int N, M, K, P;
void citire()
{
freopen("amenzi.in", "r", stdin);
scanf("%d %d %d %d\n", &N, &M, &K, &P);
int i, p, q, c;
a.resize(N+1);
for(i=1;i<=M;i++)
{
scanf("%d %d %d\n", &p, &q, &c);
a[p].push_back(nod(q, c));
a[q].push_back(nod(p, c));
}
for(i=1;i<=K;i++)
{
scanf("%d %d %d\n", &p, &q, &c);
hot[p][q]=c;
}
for(i=1;i<=P;i++)
{
scanf("%d %d\n", &p, &q);
sotie[p][q]=1;
}
}
struct nd { int c; bool ajuns; nd(int a, bool b){c=a; ajuns=b;};};
bool ajuns[151][3501];
nd memo(int i, int j)
{
//printf("(%d %d)\n", i, j);
if(i==1 && j==0) return nd(dp[i][j]+hot[i][j], 1);
if(j<=0)return nd(0,0);
// if(sotie[i][j]) return dp[i][j];
if(dp[i][j]) return nd(dp[i][j],ajuns[i][j]) ;
int k;
ajuns[i][j]=0;
//ajuns[i][j]=memo(i, j-1).ajuns;
dp[i][j]=0;
for(k=0;k<a[i].size();k++)
{
if(memo(a[i][k].x, j-a[i][k].c).ajuns)
{
if(dp[i][j]<=memo(a[i][k].x, j-a[i][k].c).c)
{
dp[i][j]=memo(a[i][k].x, j-a[i][k].c).c;
ajuns[i][j]=1;
}
}
}
if(memo(i, j-1).ajuns) dp[i][j]=max(dp[i][j], memo(i, j-1).c);
//ajuns[i][j]=memo(i, j-1).ajuns;
//ajuns[i][j]=1;
dp[i][j]+=hot[i][j];
//if(hot[i][j]) printf("%d %d %d %d\n", i,j,hot[i][j], ajuns[i][j]);
return nd(dp[i][j], ajuns[i][j]);
}
int memo2(int i, int j)
{
printf("(%d %d)\n", i, j);
if(j<0 || j>1500) return 0;
if(sotie[i][j]) return dp[i][j]+hot[i][j];
if(dp[i][j]) return dp[i][j];
int k;
dp[i][j]=memo2(i, j+1);
for(k=0;k<a[i].size();k++)
{
if(j+a[i][k].c>1500) continue;
if(sotie[a[i][k].x][j+a[i][k].c]) continue;
dp[i][j]=max(dp[i][j], memo2(a[i][k].x, j+a[i][k].c));
}
dp[i][j]+=hot[i][j];
return dp[i][j];
}
int main()
{
citire();
freopen("amenzi.out", "w", stdout);
for(int i=1;i<=N;i++)
for(int j=1;j<1500;j++)
if(sotie[i][j]){ printf("%d\n", memo(i, j).c); }
//memo2(1, 0);
//for(int i=1;i<=N;i++)
// for(int j=1;j<=1500;j++) if(sotie[i][j]) printf("%d\n", dp[i][j]);
return 0;
}