파리의 이동 거리

NYPC 2017 · 예선 스테이지 1

두 대의 기차가 같은 선로 위에서 각각 일정한 속력으로 달리고 있다. 두 기차 사이에 파리 한 마리가 선로를 따라 날고 있는데, 두 기차가 충돌하는 순간까지 파리가 얼마만큼의 거리를 이동하게 될지 알아보자.

  • 파리는 무엇인가에 부딪히기 전까지는 같은 방향으로, 일정한 속력으로 계속 날아간다.
  • 그러다 부딪히면 바로 반대방향으로 바꾸어, 다시 무엇인가에 부딪히기 전까지 계속 같은 속력으로 날아간다.
  • 기차가 파리보다 빠를 경우, 파리와 기차가 서로 반대 방향으로 움직이다 충돌하거나 혹은 기차가 파리를 뒤에서 들이받은 시점 이후부터는 파리는 기차에 얹혀서 함께 이동한다. 또한 기차와 파리가 속력이 같은 경우라도 서로 반대 방향으로 움직이다가 충돌한다면 충돌 시점 이후부터 파리는 기차에 얹혀간다고 생각하자.

처음에 기차 A는 현재 aa 미터 지점에서 11초에 xx미터의 속력으로 오른쪽으로 달리기 시작한다. 처음에 기차 B는 현재 bb 미터 지점에서 11초에 yy미터의 속력으로 왼쪽으로 달리기 시작한다. 처음에 파리는 00미터 지점에서 11초에 zz미터의 속력으로 오른쪽으로 날기 시작한다.

위치 값이 음수이면 파리보다 왼쪽에, 양수이면 파리보다 오른쪽에 있는 것이다. 따라서 aa는 음수이고 bb는 양수이다. 기차들은 달리는 방향을 바꾸지 않는다.

입력 형식

입력의 제일 첫째 줄에는 파일에 포함된 케이스의 수 TT가 주어진다. 단, T10T \le 10이다.

각 케이스의 첫 번째 줄에는 두 정수 aabb (106a<0-10^6 \le a < 0, 0<b1060 < b \le 10^6)가 주어진다.

두 번째 줄에는 세 정수 xx, yy, zz (1x,y,z100001 \le x, y, z \le 10\,000)가 주어진다. 여기서 xx, yy, zz는 각각 기차 A, 기차 B, 파리의 속력(미터/초)이다.

출력 형식

각 케이스별로 첫째줄에 11, 22, 33 중 하나를 출력한다. 여기서 각 숫자는 다음의 경우에 따라 출력한다:

  • 기차가 충돌하기 직전에 파리가 A 기차에 얹혀서 함께 이동하고 있었다면 11
  • 기차가 충돌하기 직전에 파리가 B 기차에 얹혀서 함께 이동하고 있었다면 22
  • 기차가 충돌하기 직전에 파리가 날고 있었으면 33. 단, 파리가 기차에 얹히는 순간과 기차가 충돌하는 순간이 일치하는 경우도 해당됨.

둘째 줄에는 기차가 충돌하는 순간까지 파리가 이동한 거리를 출력한다. (절대 오차 혹은 상대 오차가 10610^{-6} 이내면 정답 처리 된다.)

예제

입력

2 -5 8 3 4 5 -4 8 4 5 1

출력

3 9.28571 3 1.333333

채점 방식

전체 입력 케이스들 중 답을 맞춘 입력 케이스 개수에 비례하여 점수를 받는다.

해설