#L4801. RMI 2023」Pinball

RMI 2023」Pinball

题目描述
题目译自 Romanian Master of Informatics 20232023 Day11 T33 「Pinball」

—— 大家稍微冷静一下……

想象一个球,它静静地躺在 XX 轴上,初始位置是坐标 00。与此同时,XX 轴上分布着 NN 组墙壁。每组墙壁可以用一个三元组 (dir,len,freq)(dir, len, freq) 来描述:

  • dirdir 表示墙壁的摆放方向,可以是 L\texttt{L}(向左)或 R\texttt{R}(向右)。
  • 如果 dir=Ldir=\texttt{L},那么这组墙壁会出现在位置 len-len, 2len-2 \cdot len, 3len-3 \cdot len, \ldots, freqlen-freq \cdot len
  • 如果 dir=Rdir=\texttt{R},那么这组墙壁会出现在位置 lenlen, 2len2 \cdot len, 3len3 \cdot len, \ldots, freqlenfreq \cdot len

需要注意的是,由于这些信息的特性,同一个坐标上可能会同时存在多堵墙。

在时间 T=0T=0 时,球开始以每秒一单位的速度向右移动。每当球撞上一堵墙,那堵墙就会立刻被撞毁,同时球会掉头反向移动。如果某个坐标有多堵墙,球撞击时只会毁掉其中一堵。

现在给你 QQ 个问题。每个问题会给出一个整数 TT,请你算出经过 TT 秒后,球所在的坐标是多少。


输入格式
第一行包含两个整数 NNQQ,中间用一个空格隔开。

接下来的 NN 行,每行有三个用空格分隔的整数 dirdir, lenlen, freqfreq,描述一组墙壁的摆放方式。

再接下来的 QQ 行,每行有一个整数 TT,表示一个询问。


输出格式
输出 QQ 行,第 ii 行给出第 ii 个询问的答案。


样例

输入

3 12
R 3 2
R 6 1
L 3 2
0
1
2
3
4
5
6
7
17
18
19
200

输出

0
1
2
3
2
1
0
-1
5
6
5
-152

数据范围与提示
对于所有输入数据,满足:

  • 1N,Q2500001 \leq N, Q \leq 250\,000
  • 1T10121 \leq T \leq 10^{12}
  • dir{L,R}dir \in \{\texttt{L}, \texttt{R}\}
  • 1len,freq10121 \leq len, freq \leq 10^{12}

详细子任务附加限制及分值如下表所示。

子任务 分值 附加限制
11 1313 N,Q1000N, Q \leq 1\,000
22 88 Q,T1000Q, T \leq 1\,000
33 1616 1len101 \leq len \leq 10
44 1010 T106T \leq 10^6
55 1111 lenfreq106len \cdot freq \leq 10^6
66 99 SS 为输入中所有 freqfreq 的总和,S106S \leq 10^6
77 3333 无附加限制