小Z最近在研究数列,他需要知道在他所研究的数列中,最大的数是多少(Max),最小的数是多少(Min),最大的数的最小的数次幂是多少(Max^Min),所有数的乘积是多少。要知道,这样的问题是肯定难不倒小Z的。但是,最近小Z突发奇想,想要研究下这个数列的更深层的性质,所以他决定不断的从这个数列中删去一些数,每次删除后都研究下当前数列。由于数列项数很大,这给小Z带来了很大的麻烦,于是小Z请你帮他写一个程序,来完成下列操作。
你需要维护一个可重集,支持五种操作:
D x 表示删除 ,保证 一定存在。若有多个只用删除一个。
D x
B 询问集合中最大值。
B
S 询问集合中最小值。
S
M 设集合中最大值为 ,最小值为 ,询问 。
M
T 询问数列中所有数的乘积,对 取模。
T
对于所有询问保证集合非空。
第一行两个正整数 ,表示初始集合大小和操作数。 第二行 个正整数 ,表示初始集合。 接下来 行,每行表示一个操作。
对于每个询问,输出一行一个整数表示答案。
3 6 2 6 9 M D 9 B S M T
81 6 2 36 12
【数据规模】 对于部分数据,,,; 对于 的数据,,。