#include<iostream>
#include<vector>
#include<queue>
#include<stack>
#include<map>
#include<string>
#include<algorithm>
#include<utility>
#include<math.h>
using namespace std;
typedef long long int ll;
typedef pair<int, int> P;
const int INF = pow(10, 8);
int main(){
  int n, m;cin>>n>>m;char z;
  vector<vector<int> > dis(n, vector<int>(n, INF));
  for(int i=0;i<m;i++){
    int a, b, c, d;cin>>a>>z>>b>>z>>c>>z>>d;
    a--;b--;
    dis[a][b]=c;dis[b][a]=d;
  }
  for(int i=0;i<n;i++)dis[i][i]=0;
  int s, g, v, p;cin>>s>>z>>g>>z>>v>>z>>p;s--;g--;
  int ans=v-p;
  for(int k=0;k<n;k++){
    for(int i=0;i<n;i++){
      for(int j=0;j<n;j++){
        dis[i][j]=min(dis[i][j], dis[i][k]+dis[k][j]);
      }
    }
  }
  ans -= dis[s][g]+dis[g][s];
  cout<<ans<<endl;
  return 0;
}

