#include <bits/stdc++.h>
using namespace std;
const long long N = 200005;
long long n, q, a[N], b[N], m;
long long tree[N << 2], zs[N], sum[N];
vector<pair<long long, long long> > v[N];
long long lazy[N << 2];
inline void cao(long long nod, long long x) { tree[nod] += x; }
inline void pushdown(long long p) {
  if (!lazy[p]) return;
  lazy[p << 1] += lazy[p];
  lazy[p << 1 | 1] += lazy[p];
  cao(p << 1, lazy[p]);
  cao(p << 1 | 1, lazy[p]);
  lazy[p] = 0;
}
inline long long ask(long long l, long long r, long long i, long long j,
                     long long nod) {
  if (l == i && j == r) return tree[nod];
  pushdown(nod);
  long long mid = (l + r) >> 1;
  if (j <= mid)
    return ask(l, mid, i, j, nod << 1);
  else if (i > mid)
    return ask(mid + 1, r, i, j, nod << 1 | 1);
  long long left = ask(l, mid, i, mid, nod << 1);
  long long right = ask(mid + 1, r, mid + 1, j, nod << 1 | 1);
  return min(left, right);
}
inline void insert(long long l, long long r, long long i, long long j,
                   long long s, long long nod) {
  if (l == i && r == j) {
    lazy[nod] += s;
    cao(nod, s);
    return;
  }
  pushdown(nod);
  long long mid = (l + r) >> 1;
  if (j <= mid)
    insert(l, mid, i, j, s, nod << 1);
  else if (i > mid)
    insert(mid + 1, r, i, j, s, nod << 1 | 1);
  else {
    insert(l, mid, i, mid, s, nod << 1);
    insert(mid + 1, r, mid + 1, j, s, nod << 1 | 1);
  }
  tree[nod] = min(tree[nod << 1], tree[nod << 1 | 1]);
}
inline void build(long long l, long long r, long long nod) {
  if (l == r) {
    tree[nod] = b[l];
    return;
  }
  long long mid = (l + r) >> 1;
  lazy[nod] = 0;
  build(l, mid, nod << 1);
  build(mid + 1, r, nod << 1 | 1);
  tree[nod] = min(tree[nod << 1], tree[nod << 1 | 1]);
}
inline void write(long long a) {
  if (a >= 10) write(a / 10);
  putchar('0' + a % 10);
}
inline void writeln(long long a) {
  write(a);
  puts("");
}
inline char gc() {
  static char buf[100000], *p1 = buf, *p2 = buf;
  return p1 == p2 && (p2 = (p1 = buf) + fread(buf, 1, 100000, stdin), p1 == p2)
             ? EOF
             : *p1++;
}
inline long long read() {
  long long x = 0;
  char ch = gc();
  bool positive = 1;
  for (; !isdigit(ch); ch = gc())
    if (ch == '-') positive = 0;
  for (; isdigit(ch); ch = gc()) x = x * 10 + ch - '0';
  return positive ? x : -x;
}
inline void change(long long l, long long r, long long pos, long long s,
                   long long nod) {
  if (l == r) {
    tree[nod] = s;
    return;
  }
  long long mid = (l + r) >> 1;
  if (pos <= mid)
    change(l, mid, pos, s, nod << 1);
  else
    change(mid + 1, r, pos, s, nod << 1 | 1);
  tree[nod] = min(tree[nod << 1], tree[nod << 1 | 1]);
}
inline long long query(long long l, long long r, long long k, long long nod) {
  if (l == r) return tree[nod];
  long long mid = (l + r) >> 1;
  if (k <= mid)
    return query(l, mid, k, nod << 1);
  else
    return min(tree[nod << 1], query(mid + 1, r, k, nod << 1 | 1));
}
void calc() {
  build(1, n, 1);
  for (long long i = 1; i <= n; i++) {
    for (long long j = 0; j < v[i].size(); j++) {
      long long t = min(ask(1, n, v[i][j].first, n, 1), v[i][j].second);
      insert(1, n, v[i][j].first, n, -t, 1);
      zs[i] += t;
    }
  }
}
long long op() {
  long long l = 1, r = n;
  while (l < r) {
    long long mid = (l + r) >> 1;
    mid++;
    if (query(1, n, mid, 1) - sum[mid] >= 0)
      l = mid;
    else
      r = mid - 1;
  }
  return sum[l] + min(query(1, n, l, 1) - sum[l], zs[l + 1]);
}
signed main() {
  n = read();
  m = read();
  q = read();
  for (long long i = 1; i < n; i++) {
    a[i] = read();
    b[i] = read();
  }
  b[n] = 2e18;
  build(1, n, 1);
  for (long long i = 1; i <= m; i++) {
    long long s = read(), t = read(), e = read();
    v[s].push_back(make_pair(t, e));
  }
  calc();
  for (long long i = 1; i <= n; i++) sum[i] = sum[i - 1] + zs[i];
  for (long long i = 1; i <= n; i++) {
    b[i] = a[i] + sum[i];
  }
  build(1, n, 1);
  writeln(op());
  while (q--) {
    long long x = read(), w = read();
    a[x] = w;
    change(1, n, x, w + sum[x], 1);
    writeln(op());
  }
}
