타원 교집합
시간 제한8초메모리 제한512 MB
중심이 같고 장축이 서로 수직인 두 타원이 주어질 때, 두 타원 교집합의 넓이를 0.001 이내 오차로 계산한다.
문제
최근 천문학자들은 A와 B라는 특이한 행성 한 쌍을 발견했다. 행성은 보통 타원 궤도를 따라 움직이며, A와 B도 마찬가지다. 그런데 두 행성의 궤도에는 특별한 성질이 있다.
- 두 궤도는 같은 평면에 있고 중심이 같다.
- 각 궤도의 두 초점을 이은 선분은 서로 수직이다.
중심을 점 O, 궤도 A의 초점을 F1, F2라 하면, 점 O를 원점으로 하고 F1과 F2를 지나는 직선을 x축으로 하는 직교좌표계를 세울 수 있다.
다음은 한 예시다.

그림 1: 궤도의 예시
천문학자들은 행성에 대해 더 알고 싶어졌고, 우선 두 궤도의 교집합 넓이를 계산하기로 했다. 그런데 교집합 넓이를 계산하는 일은 너무 복잡해서 그들의 능력으로는 어렵다. 그래서 그들은 프로그래밍에 재능이 있는 당신에게 도움을 청했다.
위 조건을 만족하는 두 타원 궤도의 정보가 주어질 때, 두 궤도의 교집합 넓이를 계산하라.
입력
입력은 여러 테스트 케이스로 이루어질 수 있다. 첫 줄에는 아래에 주어지는 테스트 케이스의 수를 나타내는 양의 정수 n (n ≤ 100)이 주어진다. 각 테스트 케이스는 두 줄로 이루어지며, 첫 줄은 궤도 A, 둘째 줄은 궤도 B의 정보이다. 각 줄에는 두 양의 정수 a와 b (a, b ≤ 100)가 주어지며, 이는 타원의 방정식 x2/a2 + y2/b2 = 1을 나타낸다. 궤도 A의 초점은 x축 위에, 궤도 B의 초점은 y축 위에 있음이 보장된다.
출력
각 테스트 케이스마다 교집합의 넓이를 나타내는 실수 하나를 한 줄에 출력한다. 오차는 0.001까지 허용된다.