#include<algorithm>
#include<iostream>
#include<string>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
using namespace std;
void f(int a[][21],int b[],int p,int e,int n,int m){
  int i;
  if(p==e){
    if(b[p]==-1||b[p]>m)
      b[p]=m;
  }else if(b[p]==-1||b[p]>m){
    b[p]=m;
    for(i=1;i<n+1;i++){
      if(a[p][i])
	f(a,b,i,e,n,m+a[p][i]);
    }
  }
  return;
}
int main(){
  int i;
  int a[21][21],b[21],m,n,o,p,q,r;
  cin>>n>>m;
  memset(a,0,sizeof(a));
  for(i=0;i<m;i++){
    int t,u,v,w;
    scanf("%d,%d,%d,%d",&t,&u,&v,&w);
    if(a[t][u]==0||a[t][u]>v)
      a[t][u]=v;
    if(a[u][t]==0||a[u][t]>w)
      a[u][t]=w;
  }
  scanf("%d,%d,%d,%d",&o,&p,&q,&r);
  q-=r;
  memset(b,-1,sizeof(b));
  f(a,b,o,p,n,0);
  q-=b[p];
  memset(b,-1,sizeof(b));
  f(a,b,p,o,n,0);
  q-=b[o];
  cout<<q<<endl;
  return 0;
}