#include <bits/stdc++.h>
using namespace std;
void File_input() {
  freopen("input.txt", "r", stdin);
  freopen("output.txt", "w", stdout);
}
void FastInputOutput() {
  ios_base ::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
}
inline long long readLong(bool t = 0) {
  long long tmp;
  if (!t) {
    cin >> tmp;
    return tmp;
  }
  scanf("%lld", &tmp);
  return tmp;
}
inline int readInt(bool t = 0) {
  int tmp;
  if (!t) {
    cin >> tmp;
    return tmp;
  }
  scanf("%d", &tmp);
  return tmp;
}
long long Abs(long long n) {
  if (n < 0) return -1 * n;
  return n;
}
const int N = 1e5 + 300;
long long a[N], q1[N], q2[N], z[N];
long long b[N];
map<long long, long long> cc;
int main() {
  FastInputOutput();
  int n, m, k, l, r, d;
  cin >> n >> m >> k;
  for (int i = 1; i < n + 1; i++) cin >> a[i];
  int s = 1, c = 1;
  for (int i = 1; i < m + 1; i++) {
    cin >> l >> r >> d;
    q1[s] = l, q2[s] = r, z[s] = d;
    s++;
  }
  for (int i = 1; i < k + 1; i++) {
    cin >> l >> r;
    ++cc[l];
    --cc[r + 1];
  }
  for (int i = 1; i < m + 1; i++) cc[i] += cc[i - 1];
  for (int i = 1; i <= m; i++) {
    b[q1[i]] += (z[i] * cc[i]);
    b[q2[i] + 1] -= (z[i] * cc[i]);
  }
  for (int i = 1; i < n + 1; i++) b[i] += b[i - 1];
  for (int i = 1; i < n + 1; i++) cout << b[i] + a[i] << " ";
  return 0;
}
