#include <bits/stdc++.h>
using namespace std;
struct dt {
  int l;
  int r;
  long long d;
} upd[100005];
long long arr[100005];
long long str[100005];
int que[100005];
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  string s, st;
  int n, t, T, i, j, J, I, k, m;
  char ch;
  memset(que, 0, sizeof que);
  cin >> n >> m >> k;
  memset(arr, 0, sizeof arr);
  memset(upd, 0, sizeof upd);
  for (i = 1; i < n + 1; i++) cin >> str[i];
  for (i = 1; i < m + 1; i++) cin >> upd[i].l >> upd[i].r >> upd[i].d;
  for (i = 1; i < k + 1; i++) {
    cin >> I >> J;
    que[I]++;
    que[J + 1]--;
  }
  for (i = 1; i < m + 1; i++) {
    que[i] += que[i - 1];
    upd[i].d *= que[i];
    I = upd[i].l;
    J = upd[i].r;
    arr[I] += upd[i].d;
    arr[J + 1] -= upd[i].d;
  }
  for (i = 1; i < n + 1; i++) {
    arr[i] += arr[i - 1];
    str[i] += arr[i];
    cout << str[i] << " ";
  }
  return 0;
}
