4115. 罐子!!

【问题描述】

小Q非常困了,现在小Q非常需要一些咖啡来让他清醒。这个时候小L带了一罐咖啡给小Q。罐子具有以下属性:

对于素数P,如果image.png并且image.png,这个时候我们就认为potp(n) = m。

这个罐子里面的咖啡非常特殊,能够让每个人瞬间清醒。

 

现在小L向小Q提供一个序列包含n个整数,a1 , a2,a3...an,每个数字的初始值都是1。接下来小L有两种操作:

 

MULTIPLY l r x: 对于每个i∈[l, r](1 ≤ l ≤ r ≤ n),执行操作ai*=x。(2≤x≤10)

MAX l r: 计算以下值:

image.png

其中p是素数。


现在需要你执行q(1≤q≤1e5)次上述的两种操作

如果操作为"MULTIPLY”,你不需要输出任何内容。

如果操作为"MAX”,你需要输出一行像"ANSWER y”的内容,其中y是需要你计算的值。

【输入形式】

输入的第一行包含两个整数n(1≤n≤1e5)和q(1≤q≤1e5),分别是序列的大小以及操作的次数。


接下来输入q行,是上述两种操作中的任意一种。

【输出形式】

对于每一个"MAX”操作,输出一行形式类似于"ANSWER y”的内容,其中y是需要你计算的值。

【样例输入】

5 6
MULTIPLY 3 5 2
MULTIPLY 2 5 3
MAX 1 5
MULTIPLY 1 4 2 
MULTIPLY 2 5 5 
MAX 3 5

【样例输出】

ANSWER 1
ANSWER 2

【样例说明】

如果m和n是非零整数,或者说是整数域的非零元素,则如果存在整数k或者整数域的元素k,且m * k = n,则记做m | n。

难度等级: 0
总通过次数: 1
总提交次数: 2
第一届程序设计竞赛