题目描述
一天体育课,老师还没来,小明让班里 $n$ 个同学先排好队。陆续有人往队伍最后躲去。一些同学还时不时地低头问小明,排在自己前面成绩最好的同学是谁。
这时老师来了。看着空缺的队伍,限小明以最快的时间整顿队伍。老师只关心队伍是否整齐没有空缺。
老师给了小明一次移动一名同学的权力。小明要求你回答之前同学们的问题,并告诉小明在老师来之后,至少移动多少个同学可以使队伍整齐。
输入
第一行为两个整数,表示有 $n$ 位同学,在老师来之前进行了 $m$ 次小动作。
第二行为 $n$ 个整数 $a_i$,表示初始时队伍中第 $i$ 位同学的年级成绩排名(数据保证不会有两人成绩重复)。
接下来 $m$ 行描述同学们的行为,每行由一个字符 A 或 M 和一个整数 $x$ 构成。
若为 A,$x$ 则表示年级成绩排名为 $x$ 的同学向小明询问自己前面成绩最好的是哪位同学;
若为 M,$x$ 则表示年级成绩排名为 $x$ 的同学此时躲到了当前队伍的最尾端(不存在队尾同学躲向队尾)。
输出
前 行,对于每个同学的询问,输出所询问同学的年级成绩排名。若询问学生不存在则输出 $-1$。
最后一行输出至少移动多少位同学,使得队伍整齐。
样例输入输出
输入#1
复制
4 5
23 150 37 301
A 37
M 23
M 37
A 301
A 37
提示
对于 $10\%$ 的数据,$n \leq 20$,$m \leq 20$。
对于 $30\%$ 的数据,$n \leq 10^3$,$m \leq 10^4$。
对于 $100\%$ 的数据,$n \leq 10^5$,$m \leq 10^5$,$a_i \leq 10^7$。