第一行两个整数N、M,表示一开始的存储器数和后面发生的事件数。
第二行N个非负整数,表示一开始从左到右每个存储器上写的数字。注意,存储器从0开始编号,也就是最左边的存储器是第0个。
接下来M行,每行描述一个事件,有4种可能的事件。
(1)I x y:表示天上掉下来一个写着数字y的存储器,并插入到原来的第x个存储器之前,如果x等于原来存储器的个数,则插入到末尾;
(2)D x:表示第x个存储器消失;
(3)C x y:表示第x个存储器上写的数字变为y;
(4)F l r:表示taorunz指定区间[l, r],让你告诉他最多能获得多少知识。
注意,本题强制在线,也就是事件中出现的所有数字都进行了加密,数字s表示的真实值是
对于I、D、C事件中的x及F事件中的l、r:(s+last_ans) mod n0;
对于I、C事件中的y:(s+last_ans) mod 1048576。
其中n0为目前存储器个数,last_ans为上一个F事件的结果,如果前面尚未发生F事件,则last_ans=0。