#include <bits/stdc++.h>
using namespace std;
int A[100010];
long long AA[100010];
int L[100010], R[100010], D[100010];
long long DD[100010];
int X[100010], Y[100010];
long long adder[100010];
long long sup[100010];
int main() {
  int N, M, K;
  cin >> N >> M >> K;
  for (int i = (1); i <= (N); ++i) scanf("%d", A + i);
  for (int j = (1); j <= (M); ++j) scanf("%d%d%d", L + j, R + j, D + j);
  for (int h = (1); h <= (K); ++h) scanf("%d%d", X + h, Y + h);
  for (int h = (1); h <= (K); ++h) adder[X[h]]++, adder[Y[h] + 1]--;
  long long tot = 0;
  for (int j = (1); j <= (M); ++j) {
    tot += adder[j];
    DD[j] = 1ll * D[j] * tot;
    sup[L[j]] += DD[j];
    sup[R[j] + 1] -= DD[j];
  }
  tot = 0;
  for (int i = (1); i <= (N); ++i) {
    if (i > 1) printf(" ");
    tot += sup[i];
    long long val = A[i] + tot;
    printf("%I64d", val);
  }
  printf("\n");
}
