#include <iostream>
#include <vector>
using namespace std;

int main() {
    int n, m;
    cin >> n >> m;

    vector<long long> a(n + 2), d(n + 2); // 差分数组多开一位
    for (int i = 1; i <= n; ++i) {
        cin >> a[i];
        d[i] = a[i] - a[i - 1]; // 构建差分
    }

    while (m--) {
        int l, r, k;
        cin >> l >> r >> k;
        d[l] += k;
        d[r + 1] -= k;
    }

    // 还原原数组
    for (int i = 1; i <= n; ++i) {
        a[i] = a[i - 1] + d[i];
        cout << a[i] << " ";
    }

    return 0;
}