题目描述
tarjen 最近在玩洛克王国,他想要捉一些异色精灵。
在刷异色精灵的过程中,tarjen 需要先不断捕捉普通精灵,捕捉普通精灵可以积累异色池的污染进度。当污染进度达到要求时,地图上会刷新出对应池子的污染精灵。在击败污染精灵后,有机会遇到异色精灵。
不过,地图上的污染精灵数量有限。如果污染精灵刷得太多,旧的污染精灵会被新的污染精灵挤掉。
同时,游戏中存在刷新异色精灵的保底机制。每个异色池有独立的保底计数。每击败一次当前池子的污染精灵,该池子的保底计数加一。当某个池子的保底计数达到 80 时,本次击败污染精灵后一定会遇到异色精灵。
具体规则如下。
共有 n 种普通精灵,A 个家族和 B 个属性。第 i 种普通精灵属于家族 fai,属性为 eli。
游戏中共有两类异色池:
- 家族池 Fx:第 x 个家族的异色池。
- 属性池 Ex:第 x 个属性的异色池。
每个异色池 P 维护了四个值:
- progressP:污染进度,初始为 0。
- pityP:保底计数,初始为 0。
- needP:刷新一只污染精灵所需的普通捕获次数(给定常数)。
- luckP:幸运阈值(给定常数)。
地图中最多同时存在 m 只污染精灵。所有污染精灵按刷新时间从早到晚排成一个队列。若数量超过 m,则不断移除队首的污染精灵,直到数量不超过 m。被地图容量挤掉的污染精灵不会被视为击败,也不会影响任何池子的保底计数。
共有 q 次操作,每次操作为以下两种之一:
-
普通捕获 C T x c
表示 tarjen 连续捕获第 x 种普通精灵 c 次,并将这 c 次捕获计入某一类异色池。若 T=F,则计入家族池 Ffax;若 T=E,则计入属性池 Eelx。
设本次捕获计入的池子为 P,则令 progressP+=c。然后,每当 progressP≥needP,就刷新出一只属于池子 P 的污染精灵,并令 progressP−=needP。
注意,一次普通捕获可能会刷新出多只污染精灵。
将本次刷新出的污染精灵依次加入队列尾部,若数量超过 m 则移除队首的污染精灵。
-
击败污染精灵 B k r
表示 tarjen 选择当前地图中从旧到新第 k 只污染精灵进行挑战。
若当前地图中的污染精灵数量不足 k,则输出 MISS,本次操作不改变任何状态。
否则,设该污染精灵属于池子 P。将其从地图中移除,并令 pityP+=1。
然后进行异色判定。每个池子 P 有一个幸运阈值 luckP。若满足 r≤luckP 或 pityP=80,则本次遇到异色,并令 pityP=0;否则不重置保底计数。具体输出格式见输出部分。
输入格式
第一行包含五个整数 n,A,B,m,q(1≤n,A,B,m,q≤2×105),分别表示普通精灵种类数、家族数量、属性数量、地图中最多同时存在的污染精灵数量以及操作次数。
接下来 n 行,每行两个整数 fai,eli(1≤fai≤A,1≤eli≤B)。
接下来一行 A 个整数 needF1,…,needFA(1≤needFi≤109)。
接下来一行 B 个整数 needE1,…,needEB(1≤needEi≤109)。
接下来一行 A 个整数 luckF1,…,luckFA(0≤luckFi≤109)。
接下来一行 B 个整数 luckE1,…,luckEB(0≤luckEi≤109)。
接下来 q 行,每行描述一个操作。格式为 C T x c(T∈{F,E},1≤x≤n,1≤c≤1018)或 B k r(1≤k≤1018,1≤r≤109)。
输出格式
对于每个 B 操作,输出一行结果:
- 若地图中不足 k 只污染精灵,输出
MISS;
- 否则,若遇到异色,输出
SHINY F x 或 SHINY E x;
- 否则,若未遇到异色,输出
NORMAL F x p 或 NORMAL E x p,其中 x 为对应异色池编号, p 为该池子当前的保底计数。
5 2 2 5 10
1 2
1 1
2 2
1 1
2 2
2 2
2 3
40 5
4 41
C E 5 9
C E 4 5
B 2 608984673
B 4 918347739
B 4 37535012
C E 5 7
B 1 712704464
C F 4 7
B 3 270899745
B 5 363752455
NORMAL E 2 1
NORMAL E 1 1
MISS
NORMAL E 2 2
NORMAL F 1 1
MISS
3 2 1 3 8
1 1
1 1
2 1
2 3
2
0 5
10
C F 1 2
C E 2 4
B 2 50
C F 3 6
B 3 3
B 5 1
C F 1 2
B 3 100
NORMAL E 1 1
SHINY F 2
MISS
NORMAL F 1 1
提示
对于样例 2,我们用 F1 表示池子 F 1 的污染精灵,E1 表示池子 E 1 的污染精灵。
- 前两次捕获后,地图中的污染精灵为 [F1,E1,E1]。
- 执行
B 2 50:击败第 2 只(E1)。50>luckE1=10 且 pityE1=1=80,输出 NORMAL E 1 1。
- 之后捕获第 3 种精灵并计入家族池,刷新 2 只 F2。地图容量为 3,旧的被挤掉后变为 [E1,F2,F2]。
- 执行
B 3 3:击败第 3 只(F2)。3≤luckF2=5,遇到异色,输出 SHINY F 2。
- 执行
B 5 1:当前地图不足 5 只,输出 MISS。
- 最后一次击败的是 F1,未遇到异色,输出
NORMAL F 1 1。