#include <bits/stdc++.h>
#define rep(i, n) for (ll i = 0; i < (ll)n; i++)
#define rep1(i, n) for (ll i = 1; i <= (ll)n; i++)
#define PI 3.14159265358979323846
#define vll vector<long long>
#define vvll vector<vector<long long>>
using namespace std;
using ll = long long;
using ld = long double;

// ----本問について----
// 問題：大工の褒美
// 問題文URL：https://onlinejudge.u-aizu.ac.jp/problems/0117
// 所要時間：
// 学んだこと：
// ------------------

// ----ここから本問のソースコード----
const ll INF = 1001001001;

// グローバル変数（入力）
ll n, s, g, V, P, K[32][32];

void initK() {
  rep(i, 32) {
    rep(j, 32) { K[i][j] = INF; }
  }
}

// 入力
void input() {
  ll m;
  scanf("%lld%lld", &n, &m);
  initK();
  rep(i, m) {
    ll a, b, c, d;
    scanf("%lld,%lld,%lld,%lld", &a, &b, &c, &d);
    K[a][b] = c;
    K[b][a] = d;
  }
  scanf("%lld,%lld,%lld,%lld", &s, &g, &V, &P);
}

void solve() {
  // ワーシャルフロイド
  rep1(k, n) {
    rep1(i, n) {
      rep1(j, n) { K[i][j] = min(K[i][j], K[i][k] + K[k][j]); }
    }
  }

  cout << V - P - K[s][g] - K[g][s] << endl;
}

int main() {
  input();
  solve();
  return 0;
}

