#include <bits/stdc++.h>
using namespace std;
constexpr int kN = int(2E5 + 10), kInf = int(1E9 + 10), kC = int(1E6 + 10);
struct seg_tree {
  long long int val[kN << 2], flag[kN << 2];
  void init() {
    memset(val, 0, sizeof(val));
    memset(flag, 0, sizeof(flag));
    return;
  }
  void addtag(int n, long long int x) {
    flag[n] += x;
    val[n] += x;
  }
  void push(int n) {
    if (flag[n]) {
      addtag(n << 1, flag[n]);
      addtag(n << 1 | 1, flag[n]);
      flag[n] = 0;
    }
    return;
  }
  void pull(int n) {
    val[n] = max(val[n << 1], val[n << 1 | 1]);
    return;
  }
  void fix(int n, int l, int r, int L, int R, long long int x) {
    if (L <= l && r <= R)
      addtag(n, x);
    else if (!(l > R || L > r)) {
      int mid = (l + r) >> 1;
      push(n);
      fix(n << 1, l, mid, L, R, x);
      fix(n << 1 | 1, mid + 1, r, L, R, x);
      pull(n);
    }
    return;
  }
};
pair<int, int> wep[kN], eqi[kN];
pair<pair<int, int>, int> mon[kN];
int pos[kC];
seg_tree sg;
int main() {
  int n, m, p, now = 1;
  long long int ans;
  scanf("%d%d%d", &n, &m, &p);
  for (int i = 1; i <= n; i++) scanf("%d%d", &wep[i].first, &wep[i].second);
  for (int i = 1; i <= m; i++) scanf("%d%d", &eqi[i].first, &eqi[i].second);
  for (int i = 1; i <= p; i++)
    scanf("%d%d%d", &mon[i].first.first, &mon[i].first.second, &mon[i].second);
  sort(wep + 1, wep + n + 1);
  sort(eqi + 1, eqi + m + 1);
  sort(mon + 1, mon + p + 1);
  sg.init();
  for (int i = 1; i <= m; i++) sg.fix(1, 1, m, i, i, -eqi[i].second);
  for (int i = 0; i < kC; i++) {
    while (now <= m) {
      if (eqi[now].first <= i)
        now++;
      else
        break;
    }
    pos[i] = now;
  }
  ans = -wep[1].second - eqi[1].second;
  now = 1;
  for (int i = 1; i <= n; i++) {
    while (now <= p) {
      if (mon[now].first.first < wep[i].first) {
        if (pos[mon[now].first.second] <= m)
          sg.fix(1, 1, m, pos[mon[now].first.second], m, mon[now].second);
        now++;
      } else
        break;
    }
    ans = max(ans, sg.val[1] - wep[i].second);
  }
  printf("%lld\n", ans);
}
