아마겟돈

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

소행성 하나가 지구를 향해 곧장 날아오고 있다. 소행성의 일부만 보일 뿐 나머지는 태양에 가려져 있어 크기와 속도를 알 수 없으므로, 최악의 상황을 가정해 대비해야 한다.

다행히 우리에게는 미사일이 있다. 미사일이 소행성에 명중하면 소행성은 두 조각으로 갈라지고, 두 조각은 좌우 대칭으로 벌어지며 전체 각도 $a$도로 서로 멀어진다. 따라서 각 조각은 소행성의 원래 진행 방향에서 $a/2$도만큼 꺾인 뒤 직선으로 날아간다.

지구는 원점을 중심으로 하고 반지름이 $R = 6378.1$ km인 원이다. 소행성은 원점을 향해 일직선으로 다가온다. 우리는 소행성과 가장 가까운 지표면 지점(원점에서 거리 $R$)에서 소행성의 진행 경로를 따라 미사일을 발사하며, 미사일은 일정한 속도로, 소행성도 명중 순간까지 일정한 속도로 움직인다.

미사일이 원점에서 거리 $d$인 지점에서 소행성을 맞히면, 두 조각이 지구를 벗어나 지나가는 조건은 정확히 $d \cdot \sin(a/2) \ge R$이다. 늦게 쏠수록 $d$가 작아져 조각이 덜 벌어지므로, 발사할 수 있는 마지막 순간이 존재한다. 소행성의 현재 거리, 벌어지는 각도, 그리고 두 속도가 주어질 때, 발사가 너무 늦어지기까지 몇 초가 남았는지 구하라.

입력

첫째 줄에 테스트 케이스의 수 $K$가 주어진다. 이어지는 $K$개의 줄에는 각 상황을 나타내는 네 개의 수가 주어진다.

  • $x_a$ — 지구 중심으로부터 소행성까지의 거리(km, $x_a > 6378.1$)
  • $a$ — 두 조각이 벌어지는 각도(도, $0 < a < 180$)
  • $s_a$ — 소행성의 일정한 속도(km/s, $s_a > 0$)
  • $s_m$ — 미사일의 일정한 속도(km/s, $s_m > 0$)

출력

각 상황마다 먼저 Data Set x:를 한 줄에 출력한다. 여기서 $x$는 $1$부터 시작하는 상황 번호이다. 다음 줄에는 발사가 너무 늦어지기까지 남은 시간(초)을 소수점 아래 둘째 자리까지 반올림하여 출력한다. 남은 시간이 $0$초 미만이면 대신 Oh no!를 출력한다. 연속한 두 상황 사이는 빈 줄 하나로 구분한다.