Harshel 市的市长 Adam East 想要通过引入独轮车站点网络来改善公共交通系统。任何持有特殊卡片的人都可以来到站点请求一辆独轮车骑行,或者归还一辆独轮车。
请求独轮车的流程很简单。用户进入队列。如果有可用的独轮车,队列中的第一个人会立即取走它。否则,队列中的人将等待,直到有人在站点归还独轮车。
设等待时间为某人从请求(进入队列)到获得独轮车所花费的时间。如果此人最终没有获得独轮车,则等待时间为无穷大。总等待时间是每个人等待时间之和。
Adam 已经掌握了每天所有人的行程表。他知道人们在中央车站请求和归还独轮车的时间,该车站可以同时容纳任意数量的独轮车。他唯一不知道的是每天开始时应该放置多少辆独轮车。他向你提出了几个问题,要求你根据给定的初始独轮车数量计算总等待时间。
输入格式
第一行包含 $n$ 和 $q$ ($1 \le n, q \le 10^5$),其中 $n$ 是中央车站独轮车请求和归还操作的总数,$q$ 是 Adam 向你提出的问题数量。接下来的 $n$ 行描述了中央车站的操作。每行包含一个操作描述:
- “+ $t$ $k$” 表示在时间 $t$ 归还了 $k$ 辆独轮车;
- “- $t$ $k$” 表示在时间 $t$ 有 $k$ 个人请求独轮车。
对于上述操作,$1 \le t \le 10^9$ 且 $1 \le k \le 10^4$。输入的最后一行包含 $q$ 个不同的整数 $b_i$ ($0 \le b_i \le 10^9$),表示一天开始时独轮车的数量。
操作按时间严格递增的顺序给出。
输出格式
输出应包含 $q$ 行。第 $i$ 行显示初始独轮车数量为 $b_i$ 时的总等待时间。如果总等待时间为无穷大,则相应行应显示单词 “INFINITY”。
样例
输入 1
5 4 - 1 1 - 2 2 + 4 1 - 6 1 + 7 2 0 3 1 2
输出 1
INFINITY 0 8 3