P2174 小Z的神奇数列

题目背景

小Z最近在研究数列,他需要知道在他所研究的数列中,最大的数是多少(Max),最小的数是多少(Min),最大的数的最小的数次幂是多少(Max^Min),所有数的乘积是多少。要知道,这样的问题是肯定难不倒小Z的。但是,最近小Z突发奇想,想要研究下这个数列的更深层的性质,所以他决定不断的从这个数列中删去一些数,每次删除后都研究下当前数列。由于数列项数很大,这给小Z带来了很大的麻烦,于是小Z请你帮他写一个程序,来完成下列操作。

题目描述

你需要维护一个可重集,支持五种操作: - `D x` 表示删除 $x$,保证 $x$ 一定存在。若有多个只用删除一个。 - `B` 询问集合中最大值。 - `S` 询问集合中最小值。 - `M` 设集合中最大值为 $a$,最小值为 $b$,询问 $a^b \bmod 317847191$。 - `T` 询问数列中所有数的乘积,对 $317847191$ 取模。 对于所有询问保证集合非空。

输入格式

输出格式

说明/提示

【数据规模】 对于部分数据,$1 \le n \le 1000$,$1\le m \le 100$,$1\le a_i \le 400$; 对于 $100\%$ 的数据,$1\le n,m \le 10^6$,$1\le a_i \le 10^8$。