func_code_string: #include <bits/stdc++.h>   using namespace std;   inline long long read() {     register char ch;     while (!isdigit(ch = getchar()))       ;     register long long x = ch ^  0 ;     while (isdigit(ch = getchar())) x = (((x << 2) + x) << 1) + (ch ^  0 );     return x;   }   vector<pair<long long, long long> > e[200005];   long long n, m, q, a[200005], b[200005], c[200005], sum[200005 << 2],       lzy[200005 << 2];   void build(long long o, long long l, long long r, long long p[]) {     lzy[o] = 0;     if (l == r) {       sum[o] = p[l];       return;     }     long long mid = l + r >> 1;     build(o << 1, l, mid, p);     build(o << 1 | 1, mid + 1, r, p);     sum[o] = min(sum[o << 1], sum[o << 1 | 1]);   }   void pushdown(long long o) {     sum[o << 1] += lzy[o];     sum[o << 1 | 1] += lzy[o];     lzy[o << 1] += lzy[o];     lzy[o << 1 | 1] += lzy[o];     lzy[o] = 0;   }   void updata(long long o, long long l, long long r, long long L, long long R,               long long val) {     if (L == l && r == R) {       sum[o] += val;       lzy[o] += val;       return;     }     if (lzy[o]) pushdown(o);     long long mid = l + r >> 1;     if (L <= mid) updata(o << 1, l, mid, L, min(mid, R), val);     if (R > mid) updata(o << 1 | 1, mid + 1, r, max(mid + 1, L), R, val);     sum[o] = min(sum[o << 1], sum[o << 1 | 1]);   }   signed main() {     n = read();     m = read();     q = read();     for (long long i = 1; i < n; ++i) {       a[i] = read();       b[i + 1] = read();     }     build(1, 1, n, b);     for (long long i = 1; i <= m; ++i) {       long long u, v, w;       u = read();       v = read();       w = read();       e[u].push_back(make_pair(v, w));     }     for (long long i = 1; i <= n; ++i) {       for (long long j = 0; j < e[i].size(); ++j) {         long long v = e[i][j].first, w = e[i][j].second;         updata(1, 1, n, 1, v, w);       }       c[i] = sum[1] + a[i];     }     build(1, 1, n, c);     printf( %lld n , sum[1]);     while (q--) {       long long x, y;       x = read();       y = read();       updata(1, 1, n, x, x, y - a[x]);       a[x] = y;       printf( %lld n , sum[1]);     }     return 0;   }   