【问题描述】
小Q非常困了,现在小Q非常需要一些咖啡来让他清醒。这个时候小L带了一罐咖啡给小Q。罐子具有以下属性:
对于素数P,如果并且,这个时候我们就认为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: 计算以下值:
其中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 |