#ijpc2015i. [ijpc2015_i]自動MOD取り機
[ijpc2015_i]自動MOD取り機
问题描述
生日礼物,小猫君从妈妈那里得到了期待已久的自动MOD取機。
这个自动MOD取機是一台能显示变量 值的机器,小猫君通过操作这台机器上的命令来玩耍。但是他太过兴奋使用过度,导致自动MOD取機开始出现奇怪的行为。
原本的自动MOD取機有以下命令:
设定
执行该命令后,将 的值设为0。
命令1
输入 的值。当执行该命令后的第 次命令时,在 中,将所有满足 除以 的余数大于等于 的值,替换为大于该数且最小的 的倍数。
命令2
输入 的值。该命令将输出 的值。
命令3
输入 的值。该命令将对 中的所有元素加上 。
小猫君无可奈何,所以决定写一个程序来回答这些问题。但是他遇到了困难,希望你能帮忙。
然而,小猫君在执行完一次设定命令后,不会再执行设定命令,所以输入的命令除了第一次设定命令外都会给出。
输入
从标准输入中按以下格式给出输入。
(第1个命令) (第2个命令) . . . (第Q个命令)
- 第一行包含两个整数 和 ,分别表示数组的数量和小猫君在执行设定命令后要执行的命令数量。
- 随后的 行中,第 行给出小猫君执行设定命令后的第 次命令。
这些命令可能是以下三种之一:
表示命令1的输入,给出了 和 的值,满足 。
表示命令2的输入,给出了 的值,满足 。
表示命令3的输入,给出了 的值,满足 。
分值
本问题没有部分分。
输出
对于每次命令2,按顺序输出结果。
输入示例1
5 7
3 5
2 3
1 3 10
2 3
1 4 10
2 3
2 4
输出示例1
5
13
15
15
的值被改变如下:
\[A_{1},A_{2},A_{3},A_{4},A_{5}\] : $\[0,0,0,0,0\]→\[5,5,5,5,5\]→\[13,13,13,5,5\]→\[15,15,15,15,5\]$
输入示例2
3 6
2 1
3 9
1 3 3
2 1
1 1 1
2 1
输出示例2
0
12
12