#include <bits/stdc++.h>
#define ull unsigned long long
#define ll long long
#define el endl
#define all(v) v.begin(), v.end()
#define nl '\n'
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
ll n, q;
if (!(cin >> n >> q))
return 0;
vector<ll> vc(n);
for (int i = 0; i < n; i++)
{
cin >> vc[i];
}
// إنشاء مصفوفة الفروق بالحجم n + 1 لتجنب Out of Bounds عند R
vector<ll> diff(n + 1, 0);
while (q--)
{
ll l, r, val;
cin >> l >> r >> val;
// O(1) لكل استعلام بدلاً من اللوب
diff[l - 1] += val;
diff[r] -= val;
}
// حساب المجموع التراكمي وتطبيقه على الفيكتور الأصلي
ll sum = 0;
for (int i = 0; i < n; i++)
{
sum += diff[i];
vc[i] += sum;
}
// طباعة الناتج النهائي
for (int i = 0; i < n; i++)
{
cout << vc[i] << (i == n - 1 ? "" : " ");
}
cout << nl;
return 0; // 4 3 7 5 6
}
ICNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgojZGVmaW5lIHVsbCB1bnNpZ25lZCBsb25nIGxvbmcKI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSBlbCBlbmRsCiNkZWZpbmUgYWxsKHYpIHYuYmVnaW4oKSwgdi5lbmQoKQojZGVmaW5lIG5sICdcbicKCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpCnsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShOVUxMKTsKCiAgICBsbCBuLCBxOwogICAgaWYgKCEoY2luID4+IG4gPj4gcSkpCiAgICAgICAgcmV0dXJuIDA7CgogICAgdmVjdG9yPGxsPiB2YyhuKTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKQogICAgewogICAgICAgIGNpbiA+PiB2Y1tpXTsKICAgIH0KCiAgICAvLyDYpdmG2LTYp9ihINmF2LXZgdmI2YHYqSDYp9mE2YHYsdmI2YIg2KjYp9mE2K3YrNmFIG4gKyAxINmE2KrYrNmG2KggT3V0IG9mIEJvdW5kcyDYudmG2K8gUgogICAgdmVjdG9yPGxsPiBkaWZmKG4gKyAxLCAwKTsKCiAgICB3aGlsZSAocS0tKQogICAgewogICAgICAgIGxsIGwsIHIsIHZhbDsKICAgICAgICBjaW4gPj4gbCA+PiByID4+IHZhbDsKCiAgICAgICAgLy8gTygxKSDZhNmD2YQg2KfYs9iq2LnZhNin2YUg2KjYr9mE2KfZiyDZhdmGINin2YTZhNmI2KgKICAgICAgICBkaWZmW2wgLSAxXSArPSB2YWw7CiAgICAgICAgZGlmZltyXSAtPSB2YWw7CiAgICB9CgogICAgLy8g2K3Ys9in2Kgg2KfZhNmF2KzZhdmI2Lkg2KfZhNiq2LHYp9mD2YXZiiDZiNiq2LfYqNmK2YLZhyDYudmE2Ykg2KfZhNmB2YrZg9iq2YjYsSDYp9mE2KPYtdmE2YoKICAgIGxsIHN1bSA9IDA7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykKICAgIHsKICAgICAgICBzdW0gKz0gZGlmZltpXTsKICAgICAgICB2Y1tpXSArPSBzdW07CiAgICB9CgogICAgLy8g2LfYqNin2LnYqSDYp9mE2YbYp9iq2Kwg2KfZhNmG2YfYp9im2YoKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKQogICAgewogICAgICAgIGNvdXQgPDwgdmNbaV0gPDwgKGkgPT0gbiAtIDEgPyAiIiA6ICIgIik7CiAgICB9CiAgICBjb3V0IDw8IG5sOwoKICAgIHJldHVybiAwOyAvLyA0IDMgNyA1IDYKfQ==