#include <bits/stdc++.h>
class TernaryPair {
 public:
  int first;
  int second;
  int third;
};
using namespace std;
int main() {
  int n, m, k;
  cin >> n >> m >> k;
  vector<int> elements(n + 1);
  vector<long long> elementsChanges(n + 1, 0);
  vector<TernaryPair> operations(m + 1);
  vector<int> operationsCount(m + 1, 0);
  for (size_t i = 1; i <= n; i++) {
    cin >> elements[i];
  }
  for (size_t i = 1; i <= m; i++) {
    int l, r, d;
    cin >> l >> r >> d;
    operations[i].first = l;
    operations[i].second = r;
    operations[i].third = d;
  }
  for (size_t i = 1; i <= k; i++) {
    int x, y;
    cin >> x >> y;
    operationsCount[x] += 1;
    if (y < m) {
      operationsCount[y + 1] -= 1;
    }
  }
  for (size_t i = 1; i <= m; i++) {
    operationsCount[i] += operationsCount[i - 1];
  }
  for (size_t i = 1; i <= m; i++) {
    elementsChanges[operations[i].first] +=
        (long long)operations[i].third * (long long)operationsCount[i];
    if (operations[i].second < n) {
      elementsChanges[operations[i].second + 1] -=
          (long long)operations[i].third * (long long)operationsCount[i];
    }
  }
  for (size_t i = 1; i <= n; i++) {
    elementsChanges[i] += elementsChanges[i - 1];
    cout << elementsChanges[i] + (long long)elements[i] << " ";
  }
}
