#include <bits/stdc++.h>
using namespace std;
vector<int> v;
long long int arr[100001], operation[100001][3], kitnibaar1[100002],
    kitnibaar[100002], update1[100002], update[100002];
int main() {
  int n, m, k;
  cin >> n >> m >> k;
  for (int i = 1; i <= n; i++) {
    cin >> arr[i];
  }
  for (int i = 1; i <= m; i++) {
    cin >> operation[i][0];
    cin >> operation[i][1];
    cin >> operation[i][2];
  }
  for (int i = 1; i <= k; i++) {
    int start, end;
    cin >> start >> end;
    kitnibaar1[start]++;
    kitnibaar1[end + 1]--;
  }
  long long int up = 0;
  for (int i = 1; i <= m; i++) {
    up += kitnibaar1[i];
    kitnibaar[i] += up;
  }
  up = 0;
  for (int i = 1; i <= m; i++) {
    operation[i][2] *= kitnibaar[i];
    update[operation[i][0]] += operation[i][2];
    update[operation[i][1] + 1] -= operation[i][2];
  }
  up = 0;
  for (int i = 1; i <= n; i++) {
    up += update[i];
    arr[i] += up;
    cout << arr[i] << " ";
  }
}
