#include <bits/stdc++.h>
using namespace std;
struct querry {
 public:
  long long l, r, val;
};
int32_t main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  long long n, m, k;
  cin >> n >> m >> k;
  long long arr[n + 2];
  for (long long i = 0; i < n; i++) cin >> arr[i];
  vector<querry> use_later;
  for (long long i = 0; i < m; i++) {
    long long l, r, val;
    cin >> l >> r >> val;
    l--;
    r--;
    use_later.push_back({l, r, val});
  }
  vector<long long> repeat(m + 2, 0);
  while (k--) {
    long long l, r;
    cin >> l >> r;
    l--;
    r--;
    repeat[l]++;
    repeat[r + 1]--;
  }
  for (long long i = 1; i < m; i++) repeat[i] += repeat[i - 1];
  vector<long long> pre_sum(n + 2, 0);
  for (long long i = 0; i < m; i++) {
    auto x = use_later[i];
    pre_sum[x.l] += (x.val * repeat[i]);
    pre_sum[x.r + 1] -= (x.val * repeat[i]);
  }
  for (long long i = 1; i < n; i++) pre_sum[i] += pre_sum[i - 1];
  for (long long i = 0; i < n; i++) cout << arr[i] + pre_sum[i] << " ";
  return 0;
}
