#include <bits/stdc++.h>
using namespace std;
int n, m, k;
long long a[(int)1e5 + 20];
long long D[(int)1e5 + 20];
int al[(int)1e5 + 20];
int ar[(int)1e5 + 20];
int ad[(int)1e5 + 20];
int freq[(int)1e5 + 20];
void printArray() {
  for (int i = 1; i <= n; i++) {
    a[i] = D[i] + a[i - 1];
    cout << a[i] << " ";
  }
}
void initializeDiffArray() {
  D[1] = a[1], D[n + 1] = 0;
  for (int i = 2; i <= n; i++) D[i] = a[i] - a[i - 1];
}
void update(int l, int r, long long x) {
  D[l] += x;
  D[r + 1] -= x;
}
void addfreq(int lo, int hi, int val) {
  freq[lo] += val;
  if (hi != m) freq[hi + 1] -= val;
}
void updateArrayfreq() {
  for (int i = 2; i <= m; i++) freq[i] += freq[i - 1];
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> n >> m >> k;
  for (int i = 1; i <= n; i++) cin >> a[i];
  for (int i = 1; i <= m; i++) cin >> al[i] >> ar[i] >> ad[i];
  initializeDiffArray();
  for (int i = 0; i < k; i++) {
    int x, y;
    cin >> x >> y;
    addfreq(x, y, 1);
  }
  updateArrayfreq();
  for (int i = 1; i <= m; i++) {
    long long cc = ad[i];
    cc *= freq[i];
    update(al[i], ar[i], cc);
  }
  printArray();
  return 0;
}
