#include <bits/stdc++.h>
using namespace std;
const long long mod = 1e9 + 7;
void _IOS() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin.sync_with_stdio(0);
}
long long sx, sy, tx, ty;
struct threeElements {
  long long _1st, _2nd, _3rd;
};
long long n, x;
multiset<long long> all;
vector<long long> v, vs;
long long a[100009], l[100009], r[100009], d[100009], p1[100009], p2[100009];
int main() {
  _IOS();
  long long n, m, k;
  cin >> n >> m >> k;
  for (long long i = 1; i <= n; i++) cin >> a[i];
  for (long long i = 1; i <= m; i++) cin >> l[i] >> r[i] >> d[i];
  for (long long i = 0; i < k; i++) {
    long long x, y;
    cin >> x >> y;
    p1[x]++;
    p1[y + 1]--;
  }
  for (long long i = 1; i <= m; i++) p1[i] += p1[i - 1];
  for (long long i = 1; i <= m; i++) {
    p2[l[i]] += (d[i] * p1[i]);
    p2[r[i] + 1] -= (d[i] * p1[i]);
  }
  for (long long i = 1; i <= n; i++) {
    p2[i] += p2[i - 1];
    cout << a[i] + p2[i] << " ";
  }
}
