#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int maxn = 2e5 + 7;
const int maxv = 1e6 + 7;
struct Event {
  int x, y, v;
  bool operator<(const Event &a) const {
    if (x == a.x) return y < a.y;
    return x < a.x;
  }
};
ll mx[maxv << 2];
ll lz[maxv << 2];
inline void pushdown(int o) {
  if (lz[o]) {
    mx[o << 1] += lz[o];
    mx[o << 1 | 1] += lz[o];
    lz[o << 1] += lz[o];
    lz[o << 1 | 1] += lz[o];
    lz[o] = 0;
  }
}
void modify(int p, int val, int L = 1, int R = maxv - 1, int o = 1) {
  if (L == R) {
    mx[o] = max(mx[o], 1LL * val);
    return;
  }
  int mid = L + R >> 1;
  if (p <= mid)
    modify(p, val, L, mid, o << 1);
  else
    modify(p, val, mid + 1, R, o << 1 | 1);
  mx[o] = max(mx[o << 1], mx[o << 1 | 1]);
}
void add(int l, int r, int val, int L = 1, int R = maxv - 1, int o = 1) {
  if (l <= L && r >= R) {
    mx[o] += val;
    lz[o] += val;
    return;
  }
  int mid = L + R >> 1;
  pushdown(o);
  if (l <= mid) add(l, r, val, L, mid, o << 1);
  if (r > mid) add(l, r, val, mid + 1, R, o << 1 | 1);
  mx[o] = max(mx[o << 1], mx[o << 1 | 1]);
}
ll query(int l, int r, int L = 1, int R = maxv - 1, int o = 1) {
  if (l <= L && r >= R) return mx[o];
  int mid = L + R >> 1;
  pushdown(o);
  ll ret = -0x3f3f3f3f3f3f3f3f;
  if (l <= mid) ret = max(ret, query(l, r, L, mid, o << 1));
  if (r > mid) ret = max(ret, query(l, r, mid + 1, R, o << 1 | 1));
  return ret;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);
  memset(mx, -0x3f, sizeof(mx));
  int n, m, p;
  cin >> n >> m >> p;
  vector<Event> all;
  for (int i = 0, v, cv; i < n; i++) {
    cin >> v >> cv;
    all.push_back(Event{v, -1, cv});
  }
  for (int i = 0, v, cv; i < m; i++) {
    cin >> v >> cv;
    modify(v, -cv);
  }
  for (int i = 0, x, y, z; i < p; i++) {
    cin >> x >> y >> z;
    all.push_back(Event{x, y, z});
  }
  sort(all.begin(), all.end());
  ll ans = -0x3f3f3f3f3f3f3f3f;
  for (auto u : all) {
    if (u.y == -1)
      ans = max(ans, query(1, maxv - 1) - u.v);
    else {
      add(u.y + 1, maxv - 1, u.v);
    }
  }
  cout << ans;
}
