問題文
整数列 $A = (a_1, a_2, \\dots, a_N), T = (t_1, t_2, \\dots, t_N), X = (x_1, x_2, \\dots, x_Q)$ が与えられます。
N 個の関数 f1(x),f2(x),dots,fN(x) を、
$f_i(x) = \\begin{cases} x + a_i & (t_i = 1)\\\\ \\max(x, a_i) & (t_i = 2)\\\\ \\min(x, a_i) & (t_i = 3)\\\\ \\end{cases}$
と定義します。
i=1,2,dots,Q のそれぞれについて、 fN(dotsf2(f1(xi))dots) を求めてください。
制約
- 入力は全て整数
- 1≤N≤ 2times105
- 1≤Q≤ 2times105
- ∣ai∣≤109
- 1≤ ti≤ 3
- ∣xi∣≤109
入力
入力は以下の形式で標準入力から与えられる。
N
a1 t1
a2 t2
vdots
aN tN
Q
x1 x2 cdots xQ
出力
Q 行にかけて出力せよ。 i 行目には、 fN(dotsf2(f1(xi))dots) を出力せよ。
入力例 1
3
-10 2
10 1
10 3
5
-15 -10 -5 0 5
出力例 1
0
0
5
10
10
$f_1(x) = \\max(x, -10), f_2(x) = x + 10, f_3(x) = \\min(x, 10)$ です。
したがって、
- f3(f2(f1(−15)))=0
- f3(f2(f1(−10)))=0
- f3(f2(f1(−5)))=5
- f3(f2(f1(0)))=10
- f3(f2(f1(5)))=10
となります。