#include <bits/stdc++.h>
using namespace std;
int n,m;
int place[22][22];
int maxnum[21];
int serch(int start,int finish,int money,int go,int now,int before)
{
	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<=maxnum[now];i++)if(place[now][i]&&i!=before)ans=max(ans,serch(start,finish,money-place[now][i],go,i,now));
	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];
		maxnum[num[0]]=max(maxnum[num[0]],num[1]);
	    maxnum[num[1]]=max(maxnum[num[0]],num[0]);
	}
//	for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){cout<<place[i][j]<<" ";}cout<<endl;}
	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],get[0])<<endl;
}