#include <iostream>
#include <vector>
using namespace std;
//此题中,由于是在连续数据中增减同一个数值,因此选中区间内,元素之间的差不会改变,以此原理减少运算复杂度
int main() {
int n, m, l, r;
long int k, tmp;
cin >> n >> m;
vector<long int> a(n+1, 0);//a存储输入的数组
vector<long int> subtract(n+1, 0);//subtract存储每一项与上一项的差
for(int i = 1; i <= n ; i++){
cin >> a[i];
subtract[i] = a[i] - a[i-1];
}
for(int i = 0; i < m; i++){
cin >> l >> r >> k;
subtract[l] += k;//a[l]与a[l-1]的差值会增加k
subtract[r+1] -= k;//a[r+1]与a[r]的差值会减少k
}
tmp = 0;
for(int i = 1; i <= n; i++){
tmp = tmp + subtract[i];
cout << tmp << ' ';
}
return 0;
}
// 64 位输出请用 printf("%lld")