#include <bits/stdc++.h>
int main() {
  int n, m, p;
  std::cin >> n >> m >> p;
  std::vector<std::pair<int, int>> aca(n), bcb(m);
  for (int i = 0; i < n; i++) {
    std::scanf("%d %d", &aca[i].first, &aca[i].second);
  }
  for (int i = 0; i < m; i++) {
    std::scanf("%d %d", &bcb[i].first, &bcb[i].second);
  }
  std::vector<std::tuple<int, int, int>> yxz(p);
  for (int i = 0; i < p; i++) {
    int x, y, z;
    std::scanf("%d %d %d", &x, &y, &z);
    yxz[i] = std::make_tuple(y, x, z);
  }
  std::sort(aca.begin(), aca.end());
  std::sort(bcb.begin(), bcb.end());
  std::sort(yxz.begin(), yxz.end());
  std::vector<int> a(n), ca(n), b(m), cb(m);
  for (int i = 0; i < n; i++) a[i] = aca[i].first;
  for (int i = 0; i < n; i++) ca[i] = aca[i].second;
  for (int i = 0; i < m; i++) b[i] = bcb[i].first;
  for (int i = 0; i < m; i++) cb[i] = bcb[i].second;
  int N = 1;
  while (N < n) N *= 2;
  std::vector<std::pair<long long, long long>> table(2 * N);
  auto add = [&](int i, long long x) {
    i += N;
    x += table[i].first;
    table[i] = std::make_pair(x, x);
    for (i /= 2; i > 0; i /= 2) {
      table[i].first = table[2 * i].first + table[2 * i + 1].first;
      table[i].second = std::max(table[2 * i].second,
                                 table[2 * i].first + table[2 * i + 1].second);
    }
  };
  for (int i = 0; i < n; i++) {
    long long x = -ca[i] + (i ? ca[i - 1] : 0ll);
    table[i + N] = std::make_pair(x, x);
  }
  for (int i = N - 1; i > 0; i--) {
    table[i].first = table[2 * i].first + table[2 * i + 1].first;
    table[i].second = std::max(table[2 * i].second,
                               table[2 * i].first + table[2 * i + 1].second);
  }
  long long ans = std::numeric_limits<long long>::min();
  for (int i = 0, j = 0; i < m; i++) {
    while (j < p) {
      long long y, x, z;
      std::tie(y, x, z) = yxz.at(j);
      if (b[i] <= y) break;
      auto it = std::upper_bound(a.begin(), a.end(), x);
      if (it != a.end()) add(it - a.begin(), z);
      j++;
    }
    long long now = table[1].second - cb[i];
    if (ans < now) ans = now;
  }
  std::cout << ans << std::endl;
}
