Putata is fascinated with playing Zoe these days. Putata is practicing Zoe's ability, paddle star at this moment.
This ability allows Zoe to fire a star that she can redirect in flight. The damage dealt by the star is positively correlated to its flying distance. Formally, assume Zoe is currently at point X and she fires in any direction. At any moment, Zoe can change the direction of the star. If the star is at point Y, and the new direction leads to some point Z, then the track of the star will be X→Y→Z. If the star meets any enemy on its trace, it will immediately disappear and cause damage to the enemy.
Since Putata is not skilled enough to control this ability, the stars he fires always fit the following restrictions. The first segment XY always has length ℓ_1, and the second segment YZ always has length ℓ_2. Assume Zoe is facing direction XP (which is a certain direction), and let ⟨XP,XY⟩ be θ degrees, ⟨XY,YZ⟩ be ϕ degrees, then θ∈\[−α,α] and ϕ∈\[−β,β]. You can refer to the following picture to help you understand.

Putata's rival, Budada, wants to know the total area that could possibly be attacked by Putata's Zoe. However, Budada is busy with math problems, so he wants you to help him solve this problem.
The first line contains one integer T (1≤T≤105), the number of test cases.
For each test case, the input is a single line containing four integers ℓ_1, ℓ_2, α and β (1≤ℓ_2≤ℓ_1≤109, 0≤α≤90, 0≤β<180), indicating the attributes of the ability.
Print one line for each test case, containing one real number indicating the answer.
Your answer will be considered correct if its absolute or relative error does not exceed 10−6. Formally, let your answer be a, and the jury's answer be b. Your answer will be considered correct if max(1,∣b∣)∣a−b∣≤10−6.