#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 100;
int main() {
  long long int n, m, k, a, b, c = 0, d = 0;
  cin >> n >> m >> k;
  long long int arr[N], add_arr[N], op[N][3], op_arr[N];
  memset(add_arr, 0, sizeof(add_arr));
  memset(op_arr, 0, sizeof(op_arr));
  for (int i = 1; i <= n; i++) {
    cin >> arr[i];
  }
  for (int i = 1; i <= m; i++) {
    cin >> op[i][0] >> op[i][1] >> op[i][2];
  }
  for (int i = 1; i <= k; i++) {
    cin >> a >> b;
    op_arr[a]++, op_arr[b + 1]--;
  }
  for (int i = 1; i <= m; i++) {
    c += op_arr[i];
    add_arr[op[i][0] + 0] += c * op[i][2];
    add_arr[op[i][1] + 1] -= c * op[i][2];
  }
  for (int i = 1; i <= n; i++) {
    d += add_arr[i];
    arr[i] += d;
    cout << arr[i] << " ";
  }
  cout << endl;
}
