#P1019. 数列分块入门 7

数列分块入门 7

P1019:数列分块入门 7

题目描述

给出一个长为 nn 的数列,以及 nn 个操作,操作涉及区间乘法,区间加法,单点询问。

所有输出均对 1000710007 取模。

输入输出格式

输入

第一行输入一个整数 nn

第二行输入 nn 个整数,第 ii 个整数为 aia_i

接下来输入 nn 行询问,每行输入四个整数 opt,l,r,c\mathrm{opt}, l, r, c

opt=0\mathrm{opt}=0,表示将位于 [l,r][l,r] 的数字都加上 cc

opt=1\mathrm{opt}=1,表示将位于 [l,r][l,r] 的数字都乘上 cc

opt=2\mathrm{opt}=2,表示询问 ara_r 的值,llcc 忽略。

输出

对于每次询问,输出一行一个整数表示答案。

样例

7
1 2 2 3 9 3 2
0 1 3 1
2 1 3 1
1 1 4 4
0 1 7 2
1 2 6 4
1 1 6 5
2 2 6 4
3
100

数据范围

  • 对于 100%100\% 的数据,1n1000001 \le n \le 100000
  • 其余输入数据及答案均在 3232 位有符号整数范围内。