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$。