#include<bits/stdc++.h>
using namespace std;
const int N=505;
int d,p,c,f,s;
int idx=0,hd[N],re[N],ne[N],num[N],cnt[N]={0};
void _add(int u,int v,int w){
re[++idx]=v;
num[idx]=w;
ne[idx]=hd[u];
hd[u]=idx;
}
int que[1005],head=1,tail=1;
long long dis[N];
bool book[N];
bool spfa(int st){
memset(dis,0x3f,sizeof dis);
memset(book,false,sizeof book);
que[tail]=st;book[st]=1;
dis[st]=-d;tail++;
while(head<tail){
int x=que[head];
for(int i=hd[x];i;i=ne[i]){
int y=re[i];
if(dis[y]>dis[x]+num[i]){
dis[y]=dis[x]+num[i];
cnt[y]=cnt[x]+1;
if(cnt[y]>=c) return false;
if(book[y]==0){
que[tail++]=y;
book[y]=1;
}
}
}
book[x]=0;
head++;
}
return true;
}
int main(){
ios::sync_with_stdio(false);
cin>>d>>p>>c>>f>>s;
int a,b,w;
for(int i=1;i<=p;i++){
cin>>a>>b;
_add(a,b,0-d);
}
for(int i=1;i<=f;i++){
cin>>a>>b>>w;
_add(a,b,w-d);
}
if(spfa(s)) {
long long ans=0;
for(int i=1;i<=c;i++) {
ans=min(ans,dis[i]);
}
cout<<-ans<<endl;
}
else cout<<"-1"<<endl;
return 0;
}
真不知道哪错了,各位大佬能帮忙看一下吗