#include <bits/stdc++.h>
using namespace std;
const int N = 100005;
pair<pair<int, int>, int> queries[N];
long long arr[N], acc[N], in[N];
int main() {
  int n, m, k;
  scanf("%d %d %d", &n, &m, &k);
  for (int i = 0; i < n; ++i) {
    int x;
    scanf("%d", &x);
    in[i] = x;
  }
  for (int i = 0; i < m; ++i) {
    scanf("%d %d %d", &queries[i].first.first, &queries[i].first.second,
          &queries[i].second);
    --queries[i].first.first;
    --queries[i].first.second;
  }
  for (int i = 0; i < k; ++i) {
    int a, b;
    scanf("%d %d", &a, &b);
    --a;
    --b;
    acc[a] += 1;
    acc[b + 1] -= 1;
  }
  for (int i = 1; i < m; ++i) {
    acc[i] += acc[i - 1];
  }
  for (int i = 0; i < m; ++i) {
    int a = queries[i].first.first;
    int b = queries[i].first.second;
    long long x = queries[i].second * acc[i];
    arr[a] += x;
    arr[b + 1] -= x;
  }
  for (int i = 1; i < n; ++i) {
    arr[i] += arr[i - 1];
  }
  for (int i = 0; i < n - 1; ++i) {
    cout << arr[i] + in[i] << " ";
  }
  cout << arr[n - 1] + in[n - 1] << "\n";
  return 0;
}
