Description
“城市处于建设中......”
预言之子的你获得了一个拥有n个元素的数组。
天神赋予你q次操作:
1. Modify,l,r,x------对于每个 i(l≤i≤r),将 ai 乘以 x 。
2. Query,l,r------你需要回答φ(∏i=lrai)取模1e9+7,其中φ表示欧拉函数。
正整数 n (表示为φ(n))的欧拉函数是满足 gcd(n,x)=1 的整数 x(1≤x≤n) 的数量。
∏i=lrai,表示 al×al+1×.......ar;
第一行包含两个整数 n 和 q(1≤n≤4⋅105,1≤q≤2⋅105) — 数组中的元素数和查询数。
第二行包含n个整数 a1,a2,…,an (1≤ai≤300) — 数组a的元素。
接下来是q行以语句中给出的格式描述查询。
Modify,l,r,x (1≤l≤r≤n,1≤x≤300) —表示修改操作。
Query,l,r (1≤l≤r≤n) ——表示对欧拉函数值的查询操作。
数据保证至少有一个Query查询。
Output
对于每个Query查询,打印其答案对1e9+7取模的结果。
Samples
4 4
5 9 1 2
Query 3 3
Query 3 4
Modify 4 4 3
Query 4 4
1
1
2
1 1
4
Query 1 1
2
Hint