#SDNU1662. 差分Ⅱ

差分Ⅱ

Description

给出 nn 个整数a[i]a[i]

qq 次操作,每次操作给出l,r,cl,r,c ,使a[i]+=c(lir)a[i]+=c(l\le i\le r) .

qq次操作完成后,输出整个数组a[i](1in)a[i](1\le i\le n) .

Format

Input

第一行有两个整数,nn 表示数组长度,qq 表示操作次数.

第二行有nn个整数a[1],a[2],...,a[n]a[1],a[2],...,a[n]

接下来qq 行,每行有三个整数l,r,cl,r,c 表示使a[i]+=c(lir)a[i]+=c(l\le i\le r) .

1n,q,c1051\le n,q,c\le 10^5

1lrn1\le l\le r\le n .

Output

qq次操作完成后,输出整个数组a[i](1in)a[i](1\le i\le n) .

Samples

5 2
1 2 3 5 4
1 1 1
1 4 -2
0 0 1 3 4