//AOJ0117

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
#define INF 1000000000
int n,m,r[21][21],cost[21][21];
int x1,x2,y1,y2;
int d[21];
int BF(int a,int b){
  for(int i=0;i<21;i++)d[i]=INF;
  d[a]=0;
  for(int i=0;i<n-1;i++){
    for(int j=1;j<=n;j++){
      for(int k=1;k<=n;k++){
        if(r[j][k])
          d[k]=min(d[k],d[j]+cost[j][k]);
      }
    }
  }
  return d[b];
}
int main(){
  cin>>n>>m;
  for(int i=0;i<m;i++){
    int a,b,c,d;
    scanf("%d,%d,%d,%d",&a,&b,&c,&d);
    r[a][b]=1;r[b][a]=1;
    cost[a][b]=c;cost[b][a]=d;
  }
  scanf("%d,%d,%d,%d",&x1,&x2,&y1,&y2);
  // cout<<BF(x1,x2)<<endl;
  //cout<<BF(x2,x1)<<endl;
  cout<<y1-y2-BF(x1,x2)-BF(x2,x1)<<endl;
}