과녁 맞히기 (Small1)

지상 위의 한 점에서 기울어진 표적 선분을 바라볼 때 시야각이 가장 커지는 지점을 찾아 그 각도를 도로 출력합니다.

보통6기하수학아직 제출이 없습니다시간 제한5초메모리 제한512 MB

문제

카즈키가 웜즈를 하고 있다. 땅 위쪽에 과녁이 하나 떠 있고, 카즈키는 그 과녁을 맞혀야 한다. 과녁은 땅과 수직이 아니라 비스듬히 기울어져 있다. 카즈키는 땅 위 아무 지점에서나 쏠 수 있고, 과녁이 가장 넓게 보이는 자리에 서려고 한다. 그 자리에서 보이는 각의 크기를 도 단위로 구하라.

세계는 2차원 평면이고 yy축은 하늘을 향한다. 땅은 xx축으로 본다. 과녁의 두 끝점 좌표 (X1,Y1)(X_1, Y_1)(X2,Y2)(X_2, Y_2)가 주어지며, 과녁은 이 두 점을 잇는 선분이다.

카즈키가 최대로 만들려는 시야각은 세 점 (X1,Y1)(X_1, Y_1), (X,0)(X, 0), (X2,Y2)(X_2, Y_2)가 이루는 각, 즉 (X,0)(X, 0)을 꼭짓점으로 하는 각이다. 최적의 XX는 정수가 아닐 수 있다.

입력

첫 줄에 테스트 케이스의 수 TT가 주어진다. 다음 TT개의 줄에는 각각 네 정수 X1X_1, Y1Y_1, X2X_2, Y2Y_2가 공백으로 구분되어 주어진다. (X1,Y1)(X_1, Y_1)(X2,Y2)(X_2, Y_2)는 과녁의 두 끝점 좌표이다.

제한

  • 1T1001 \le T \le 100
  • X1X2X_1 \ne X_2
  • 1Y1,Y2101 \le Y_1, Y_2 \le 10
  • 10X1,X210-10 \le X_1, X_2 \le 10

출력

각 테스트 케이스마다 Case #t: Z 형식으로 한 줄씩 출력한다. tt는 1부터 시작하는 테스트 케이스 번호이고, ZZ는 카즈키가 만들 수 있는 최대 시야각을 도 단위로 나타낸 값이다. ZZ는 소수점 아래 여섯째 자리까지 반올림해 출력하며, 끝자리가 0이어도 여섯 자리를 모두 적는다. 각이 정확히 90도이면 90.000000으로 출력한다.