Cone walker
题号:NC209995
时间限制:C/C++/Rust/Pascal 3秒,其他语言6秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

    At the vertex of a cone, two men separated from each other. They walked straight on the cone surface getting higher and higher. They headed in different directions. They established their own kingdoms. Now they are looking backward, and thinking about the answer. What's the size of the area, in which the distance from the first man is no more than r_1, and the distance from the second man is no more than r_2? The distance on a cone means the length of the shortest curve on the cone surface connecting two points.

输入描述:

 The number of test cases.(1<=<=100000)
For each test case:
The degree of the angle between cone surface and Z-axis.
a_1,a_2 The degree of the polar angle of their direction projected on X-Y plane.
z_1,z_2 The distance they walked.
r_1,r_2 As defined in the description.
All inputs are integers.

输出描述:

For every test case, print the area in one line.
Answer will be considered correct if the absolute or relative error is no more than .
示例1

输入

复制
3
45
135 45
10 8
6 4
2
12 33
0 0
7 9
10
0 180
10 10
5 5

输出

复制
0.623215434549462266033970081480
5.372360120273385497569051949540
54.789408235208057362797262612730

说明

The first example is pictured above. Output the area of green.