Problem F: 全体火力

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:104 Solved:21

Description

小 X 带领的魂师团队与邪魂师们展开了一场大战。
敌方总共有 N 名邪魂师,每名邪魂师的生命值为 Ai。
小 X 使用了 M 个魂技,每个魂技会对编号在 L 到 R 之间的每一名邪魂师产生效果,他们的生命值将分别减少 X,若某一名邪魂师的生命值变为负数或 0,则表示他已经死亡,这时我们认为他的生命值为 0。
更加形式化地说,若一名被攻击的邪魂师原本的生命值为 Ai,那么被攻击后,他的生命值将变为 max(0,Ai-x),其中 max(x,y)表示 x 和 y 中的最大值。
现在小 X 想要知道,在所有 M 个魂技释放完成之后,敌方每一名邪魂师的生命值。

Input

第一行两个整数 N、M,含义见题面描述。
第二行 N 个整数 Ai,表示每名邪魂师初始时的生命值。
接下来 M 行,每行三个整数 L、R、X,描述一个魂技。

Output

输出一行 N 个整数,敌方每一名邪魂师的剩余生命值。

Sample Input Copy

5 3
1 2 3 4 5
1 5 2
1 2 100
4 5 2

Sample Output Copy

0 0 1 0 1

HINT

【样例解释】
第一个魂技释放后,每名邪魂师的剩余生命值为 0,0,1,2,3。
第二个魂技释放后,每名邪魂师的剩余生命值为 0,0,1,2,3。
第三个魂技释放后,每名邪魂师的剩余生命值为 0,0,1,0,1。
【数据范围及子任务】
对于 10%的数据,N=1,M=1。
对于 40%的数据,N≤1000,M≤1000。
对于另外 30%的数据,N≤10^5,M≤10^5,R=N。
对于 100%的数据,N、M≤10^5,1≤L≤R≤N,1≤Ai≤10^9,1≤X≤10^4。