#include <bits/stdc++.h>
using namespace std;
struct Query {
  long long l, r, d;
};
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  long long n, m, k, x, y;
  cin >> n >> m >> k;
  vector<long long> v(n);
  for (int i = 0; i < n; ++i) {
    cin >> v[i];
  }
  vector<Query> query(m);
  for (int i = 0; i < m; ++i) {
    cin >> query[i].l >> query[i].r >> query[i].d;
    query[i].l--, query[i].r--;
  }
  vector<long long> halt(m + 2, 0);
  for (int i = 0; i < k; ++i) {
    cin >> x >> y;
    x--, y--;
    halt[x]++;
    halt[y + 1]--;
  }
  for (int i = 1; i < m; ++i) {
    halt[i] += halt[i - 1];
  }
  vector<long long> bar(n + 2, 0);
  for (int i = 0; i < m; ++i) {
    bar[query[i].l] += query[i].d * halt[i];
    bar[query[i].r + 1] -= query[i].d * halt[i];
  }
  for (int i = 1; i < n; ++i) {
    bar[i] += bar[i - 1];
  }
  for (int i = 0; i < n; ++i) {
    cout << v[i] + bar[i] << " ";
  }
  return 0;
}
