//  #牛客春招刷题训练营# https://www.nowcoder.com/discuss/726480854079250432
//  我先是用的暴力,没有算时间复杂度,超时了,还不知道差分看的题解,C++第一篇有图片我感觉讲的挺好的
#include <iostream>
#include <vector>
#define ll long long
using namespace std;

int main() {
  int n, m;
  cin >> n >> m;
  vector<ll> a(n);
  vector<ll> b(n);
  cin >> a[0];
  b[0] = a[0];
  for (int i = 1; i < n; i++) {
    cin >> a[i];
    b[i] = a[i] - a[i - 1];//------计算差分,本来最好数组多开一个
  }
  int l, r, k;
  while(m--){
    cin >> l >> r >> k;
    b[l - 1] += k;
    if (r < n) b[r] -= k;
  }
  a[0] = b[0];
  cout << b[0] << ' ';
  for (int i = 1; i < n; i++){
    a[i] = a[i - 1] + b[i];
    cout << a[i] << ' ';
  }
}
// 64 位输出请用 printf("%lld")