#CF2038J. 等待……

等待……

J. 等待……
每次测试的时间限制:2 秒
每次测试的内存限制:512 兆字节

MonocarpMonocarp 正在公交站等车。不幸的是,有很多人也想坐公交车。

给你一个事件列表,共两种类型:

  • BB bib_i —— 一辆有 bib_i 个空座的公交车到达车站;
  • PP pip_i —— pip_i 个人到达车站。

这些事件按时间顺序给出。

当一辆公交车到达时,会发生以下情况:车站的所有人(除了 MonocarpMonocarp)都试图上车。如果空座足够容纳所有人,那么他们都上车。否则,一部分人留在车站(上车的人数等于空座数)。

如果所有人(除了 MonocarpMonocarp)上车后,车上还有至少一个空座,那么 MonocarpMonocarp 可以决定也上这辆车(但他也可以选择等下一辆)。对于每辆公交车,你需要判断 MonocarpMonocarp 是否可以乘坐该车。


输入
第一行包含一个整数 nn1n1031 \le n \le 10^3)—— 事件的数量。

接下来 nn 行,每行包含以下两种格式之一的事件描述:

  • BB bib_i1bi1061 \le b_i \le 10^6)—— 一辆有 bib_i 个空座的公交车到达;
  • PP pip_i1pi1061 \le p_i \le 10^6)—— pip_i 个人到达车站。

输入的附加约束:至少有一个 BB 类型事件。


输出
对于每个 BB 类型事件,如果 Monocarp 可以乘坐该公交车,则输出 YESYES,否则输出 NONO(大小写不敏感)。


示例

输入

10
P 2
P 5
B 8
P 14
B 5
B 9
B 3
P 2
B 1
B 2

输出

YES
NO
NO
YES
NO
YES