#include <bits/stdc++.h>
using namespace std;
int n,m;
int place[22][22];
int road[22][22];
int serch(int start,int finish,int money,int go,int now)
{
    if(money<0)return 0;
    if(go==1&&start==now)return money;
    if(finish==now)go=1;
    int ans=0;
    for(int i=1;i<=n;i++)if(place[now][i]!=0)ans=max(ans,serch(start,finish,money-place[now][i],go,i));
    return ans;
}
int main() {
    cin>>n>>m;
    char a;
    for(int i=0,num[4];i<m;i++){
        for(int j=0;j<3;j++)cin>>num[j]>>a;
        cin>>num[3];
        place[num[0]][num[1]]=num[2];
        place[num[1]][num[0]]=num[3];
    }
    int get[4];
    for(int i=0;i<3;i++)cin>>get[i]>>a;
    cin>>get[3];
    cout<<serch(get[0],get[1],get[2]-get[3],0,get[0])<<endl;
}