#ijpc2015i. [ijpc2015_i]自動MOD取り機
[ijpc2015_i]自動MOD取り機
問題文
誕生日プレゼントにすぬけ君は待望の自動MOD取り機をお母さんからもらいました。
この自動MOD取り機は 個の変数 の値を表示する機械であり、すぬけ君はこの機械にあるコマンドをいじくることで遊んでいましたが、興奮して使いすぎてしまったので自動MOD取り機は変な挙動をし始めてしまいました。
本来の自動MOD取り機は以下のようなコマンドがあります。
セット
これを実行すると、 の値を0にする。
コマンド1
の値を入力する。このコマンドがセットしてから回目のコマンドの時、の中で、で割った余りが以上の値のものをすべて、 その数より大きい最小のの倍数に置き換える。
コマンド2
の値を入力する。このコマンドでは の値を出力する。
コマンド3
の値を入力する。このコマンドでは すべてにを加える。
すぬけ君はしょうがないのでこのコマンドに答えるプログラムを組もうとしました。 しかし、なかなかうまくいかないので、助けてください。
ただし、すぬけ君は最初にセットをした後はセットコマンドは実行せず、入力として与えられるのは最初に行われるセットコマンド以外が与えられる。
入力
入力は以下の形式で標準入力から与えられる。
(個目のコマンド) (個目のコマンド) . . . (個目のコマンド)
- 一行目には配列の数 とすぬけ君がセットコマンドを行った後に実行するコマンドの数 が与えられる。
- 続く 行の内の 行目にはすぬけ君がセットコマンドを実行してから 回目のコマンドが与えられる。
これらは以下のいずれかである。
これは、コマンド1 の入力として、 が入力で与えられることを表す。これらは、 を満たす。 これは、コマンド2 の入力として、 が入力で与えられることを表す。これは、 を満たす。 これは、コマンド3 の入力として、 が入力で与えられることを表す。これは、 を満たす。
配点
この問題には部分点がない。
出力
回目のコマンド2 に対する出力を 行目に出力せよ。
入力例
5 7
3 5
2 3
1 3 10
2 3
1 4 10
2 3
2 4
出力例
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\]$
入力例
3 6
2 1
3 9
1 3 3
2 1
1 1 1
2 1
出力例
0
12
12