Codeforces Round 239 (Div. 1)
C
Curious Array
Codeforces
2500
原题
← BD →
翻译中…

You've got an array consisting of $*n*$ integers: $*a*[1], *a*[2], ..., *a*[*n*]$. Moreover, there are $*m*$ queries, each query can be described by three integers $*l*_{*i*}, *r*_{*i*}, *k*_{*i*}$. Query $*l*_{*i*}, *r*_{*i*}, *k*_{*i*}$ means that we should add image to each element $*a*[*j*]$, where $*l*_{*i*} ≤ *j* ≤ *r*_{*i*}$.

翻译中…

Record image means the binomial coefficient, or the number of combinations from $*y*$ elements into groups of $*x*$ elements.

翻译中…

You need to fulfil consecutively all queries and then print the final array.

翻译中…

Input

翻译中…

The first line contains integers $*n*$, $*m*$ ($1 ≤ *n*, *m* ≤ 10^{5}$).

翻译中…

The second line contains $*n*$ integers $*a*[1], *a*[2], ..., *a*[*n*]$ ($0 ≤ *a*_{*i*} ≤ 10^{9}$) — the initial array.

翻译中…

Next $*m*$ lines contain queries in the format $*l*_{*i*}, *r*_{*i*}, *k*_{*i*}$ — to all elements of the segment $*l*_{*i*}... *r*_{*i*}$ add number image ($1 ≤ *l*_{*i*} ≤ *r*_{*i*} ≤ *n*$; $0 ≤ *k* ≤ 100$).

翻译中…

Output

翻译中…

Print $*n*$ integers: the $*i*$-th number is the value of element $*a*[*i*]$ after all the queries. As the values can be rather large, print them modulo $1000000007$ $(10^{9} + 7)$.

翻译中…

样例

Input #1
5 1
0 0 0 0 0
1 5 0
Output #1
1 1 1 1 1
InputCopy OutputCopy
Input #2
10 2
1 2 3 4 5 0 0 0 0 0
1 6 1
6 10 2
Output #2
2 4 6 8 10 7 3 6 10 15
InputCopy OutputCopy
题目信息
题号
407C
时间限制
2 s
内存限制
256 MB
标签
暴力
组合数学
模拟
数学

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。