题目描述
有 $n$ 个整数 $a_1,a_2,\dots,a_n$,一开始,所有数字都是 $0$,接下来将根据输入数据依次进行 $q$ 条修改操作:
+ 加法修改操作以字符 `+` 开头,后接两个整数 $p$ 与 $d$,表示数列的第 $p$ 项将增加 $d$;
+ 乘法修改操作以字符 `*` 开头,后接一个整数 $m$,表示数列的每一项都将乘以 $m$。
请输出经过修改后数列,由于答案可能很大,输出每一个数字模 $1,000,000,007$ 的余数。
输入
第一行:两个整数表示 $n$ 与 $q$。
第二行到第 $q+1$ 行:第 $i+1$ 行首先有一个字符表示操作类型,若是加法修改,后接两个整数 $p_i$ 与 $d_i$,若是乘法修改,后接一个整数 $m_i$
输出
单独一行:$n$ 个数字表示修改后每个数字模 $1,000,000,007$ 的余数。
样例输入输出
输入#1
复制
3 5
+ 1 3
* 10
+ 2 6
+ 3 9
* 5
提示
+ 对于 $40\%$ 的数据,$n,q\leq 1000$
+ 对于 $80\%$ 的数据,$n,q\leq 50000$
+ 对于 $100\%$ 的数据,$n,q\leq 200,000$
+ $1\leq d_i,m_i\leq 1,000,000$