#arc052b. [arc052_b]円錐

[arc052_b]円錐

问题陈述

在三维空间(xyzxyz 空间)中,有 NN 个圆锥体浮在空中,彼此不重叠。

每个圆锥的底面与 yzyz 平面平行,并且朝着 xx 轴正向尖锐。

ii 个圆锥底面中心的 xx 坐标是 XiX_i,半径是 RiR_i,高度是 HiH_i

请回答以下查询共 QQ 个。

  • 给定两个整数 AABB,求位于空间内任一圆锥内部的部分的体积。

约束条件

  • 所给数字均为整数
  • 1N1001 \leq N \leq 100
  • 1Q1051 \leq Q \leq 10^5
  • 0Xi1040 \leq X_i \leq 10^4
  • 1Hi1041 \leq H_i \leq 10^4
  • 1Ri1031 \leq R_i \leq 10^3
  • 0AiBi2×1040 \leq A_i \leq B_i \leq 2 \times 10^4

输入

输入以以下格式从标准输入读取。

NN QQ X1X_1 R1R_1 H1H_1 X2X_2 R2R_2 H2H_2XNX_N RNR_N HNH_N A1A_1 B1B_1 A2A_2 B2B_2AQA_Q BQB_Q

  • 第一行包含两个整数,表示圆锥的数量 NN 和查询的数量 QQ,以空格分隔。
  • 第二行起的 NN 行中,第 ii 行包含圆锥底面中心的 xx 坐标 XiX_i、半径长度 RiR_i 和高度 HiH_i,以空格分隔。
  • N+2N+2 行起的 QQ 行中,第 ii 行包含第 ii 个查询的内容,即两个整数 Ai,BiA_i, B_i,以空格分隔。

输出

输出共 QQ 行。第 ii 行输出第 ii 个查询的答案。输出末尾需要换行。如果输出的绝对误差或相对误差小于等于 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