#include <bits/stdc++.h>
using namespace std;
const long long int N = 1e5 + 10;
const long long int mod = 1e9 + 7;
struct operation {
  long long int l, r, d;
};
int main() {
  int n, m, k;
  cin >> n >> m >> k;
  vector<long long int> v(n + 1);
  for (int i = 1; i <= n; i++) cin >> v[i];
  vector<operation> op(m + 1);
  for (int i = 1; i <= m; i++) cin >> op[i].l >> op[i].r >> op[i].d;
  vector<long long int> N(m + 1 + 1);
  while (k--) {
    int x, y;
    cin >> x >> y;
    N[x]++;
    N[y + 1]--;
  }
  for (int i = 2; i <= m; i++) N[i] += N[i - 1];
  vector<long long int> V(n + 1 + 1);
  for (int i = 1; i <= m; i++) {
    op[i].d *= N[i];
    V[op[i].l] += op[i].d;
    V[op[i].r + 1] -= op[i].d;
  }
  for (int i = 2; i <= n; i++) V[i] += V[i - 1];
  for (int i = 1; i <= n; i++) v[i] += V[i];
  for (int i = 1; i <= n; i++) cout << v[i] << ' ';
  return 0;
}
