编程题
### 问题描述
小高家前有一块大草坪,可以被视为一段长度为 $n$ 的数组,数组第 $i$ 位是一颗长度为 $a_i$ 的小草。小高有一个神奇的割草机,小高能每次指定割草机的割草范围 $[L,R]$ 和割草性能 $k$,之后 $[L,R]$ 的小草长度都会被除以 $k$。小高有时会偷懒,不去除草而去问你某个区间 $[L,R]$ 的小草长度和。
### 输入格式
第一行包含两个整数 $n,m$,表示草坪长度和操作次数。
接下来一行 $n$ 非负整数代表小草长度数组 $a$。
接下来 $m$ 行,每行为 $0 \enspace L \enspace R \enspace k$ 或者 $1 \enspace L \enspace R$,分别代表以性能 $k$ 割草 $[L,R]$ 和查询区间 $[L,R]$ 小草长度和。
### 样例输入
```
10 10
2 10 90 27 15 41 3 17 99 29
0 1 9 22
0 7 7 38
1 1 2
1 10 10
0 9 9 31
1 4 5
0 3 8 52
0 5 8 25
1 5 8
1 1 5
```
### 样例输出
```
0
29
1
0
0
```
### 数据规模
对于所有评测数据,$1 \leq n,m \leq 10^{5}$,$0 \leq op \leq 1$,$1 \leq L \leq R \leq n$,$1 \leq k \leq 10^{3}$。