60200006 - 数列操作5

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

Input

第一行输入一个数字n(1≤n≤100 000)。 第二行输入n个整型数,第i个数字为ai。 接下来输入n行询问,每行输入4个整型数opt,l,r,c。 若opt=0,表示将[l,r]区间的都加c。 若opt=1,表示将[l,r]区间的都乘以c。 若opt=2,表示询问ar mod 10 007的值(l,c的值忽略)。

Output

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

Examples

Input

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

Output

3
100
Time Limit 1 second
Memory Limit 128 MB
Stats
上一题 下一题