#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1100;
int r[MAXN], x[MAXN], y[MAXN], xp[5], yp[5];
int main() {
  cin >> xp[1] >> yp[1] >> xp[3] >> yp[3];
  xp[2] = xp[3], yp[2] = yp[1];
  xp[4] = xp[1], yp[4] = yp[3];
  int n, ans = 0;
  double db;
  cin >> n;
  bool t = false;
  for (int i = 1; i <= n; i++) cin >> x[i] >> y[i] >> r[i];
  for (int i = min(xp[1], xp[2]) + 1; i < max(xp[1], xp[2]); i++) {
    t = false;
    for (int j = 1; j <= n; j++) {
      db = sqrt((i - x[j]) * (i - x[j]) + (yp[1] - y[j]) * (yp[1] - y[j]));
      if (db <= r[j]) t = true;
    }
    if (!t) ans++;
  }
  for (int i = min(xp[3], xp[4]) + 1; i < max(xp[3], xp[4]); i++) {
    t = false;
    for (int j = 1; j <= n; j++) {
      db = sqrt((i - x[j]) * (i - x[j]) + (yp[3] - y[j]) * (yp[3] - y[j]));
      if (db <= r[j]) t = true;
    }
    if (!t) ans++;
  }
  for (int i = min(yp[1], yp[4]) + 1; i < max(yp[1], yp[4]); i++) {
    t = false;
    for (int j = 1; j <= n; j++) {
      db = sqrt((xp[1] - x[j]) * (xp[1] - x[j]) + (i - y[j]) * (i - y[j]));
      if (db <= r[j]) t = true;
    }
    if (!t) ans++;
  }
  for (int i = min(yp[2], yp[3]) + 1; i < max(yp[2], yp[3]); i++) {
    t = false;
    for (int j = 1; j <= n; j++) {
      db = sqrt((xp[2] - x[j]) * (xp[2] - x[j]) + (i - y[j]) * (i - y[j]));
      if (db <= r[j]) t = true;
    }
    if (!t) ans++;
  }
  for (int i = 1; i <= 4; i++) {
    t = false;
    for (int j = 1; j <= n; j++) {
      db = sqrt((xp[i] - x[j]) * (xp[i] - x[j]) +
                (yp[i] - y[j]) * (yp[i] - y[j]));
      if (db <= r[j]) t = true;
    }
    if (!t) ans++;
  }
  cout << ans;
  return 0;
}
