#arc052b. [arc052_b]円錐

[arc052_b]円錐

問題文

3次元空間( xyzxyz 空間)上に NN 個の円錐が互いに重なり合わないように浮いています。

どの円錐も底面が yzyz 平面と平行で、xx 軸の正の方向にとがっています。

ii 番目の円錐の底面の中心の xx 座標の値は XiX_i で半径は RiR_i 、高さは HiH_i です。

以下のクエリに QQ 個答えてください。

  • 22 つの整数 AABB が与えられるので AxBA ≦ x ≦ B となる空間の内いずれかの円錐の内側にある部分の体積をもとめよ。

制約

  • 与えられる数字はすべて整数
  • 1N1001 ≦ N ≦ 100
  • 1Q1051 ≦ Q ≦ 10^5
  • 0Xi1040 ≦ X_i ≦ 10^4
  • 1Hi1041 ≦ H_i ≦ 10^4
  • 1Ri1031 ≦ R_i ≦ 10^3
  • 0AiBi2×1040 ≦ A_i ≦ B_i ≦ 2×10^4

入力

入力は以下の形式で標準入力から与えられる。

NN QQ X1X_1 R1R_1 H1H_1 X2X_2 R2R_2 H2H_2 : XNX_N RNR_N HNH_N A1A_1 B1B_1 A2A_2 B2B_2 : AQA_Q BQB_Q

  • 11 行目には円錐の個数を表す整数 NN とクエリの個数を表す整数 QQ が空白区切りで与えられる。
  • 22 行目からの NN 行のうち ii 行目には ii 番目の円錐の底面の中心の xx 座標の値を表す整数 XiX_i と半径の長さを表す整数 RiR_i、高さを表す整数 HiH_i が空白区切りで与えられる。
  • N+2N+2 行目からの QQ 行のうち ii 行目には ii 番目のクエリの内容を表す整数 Ai,BiA_i, B_i が空白区切りで与えられる。

出力

出力は QQ 行からなる。 ii 行目には ii 番目のクエリの答えを 11 行で出力せよ。 出力は絶対誤差または相対誤差が 10310^{-3} 以下であれば許容される。 なお、出力の末尾に改行を入れること。


入力例1


10 10
3 3 3
2 1 1
5 2 3
1 5 6
2 9 3
4 6 12
11 18 5
4 15 25
0 2 3
1 1 7
0 1
0 2
0 10
3 10
0 100
3 8
1 5
2 9
3 4
6 9

出力例1


8.843002
80.992182
4173.878112
3865.997282
8512.668894
2882.971997
1227.377293
3629.490541
114.081013
1747.545749

入力例2


5 5
5 10 10
4 100 100
3 1000 1000
2 1000 1000
1 1000 1000
0 3
2 1000
4 314
3 217
5 432

出力例2


9409079.422279
3139502408.531295
2100737789.465234
1613523459.243475
2532621914.444282