달아난 메추라기

원점에서 출발하여 바깥쪽으로 도망치는 모든 메추리를 잡는 데 필요한 가장 짧은 시간을 구합니다.

어려움8동적 계획법수학구간아직 제출이 없습니다시간 제한5초메모리 제한512 MB

문제

기르던 메추라기 NN마리가 모두 달아났다. 나는 수직선 위의 좌표 00에 서 있고, ii번째 메추라기는 00이 아닌 정수 좌표 PiP_i(미터)에서 출발한다. 메추라기는 내가 있는 지점에서 멀어지는 방향으로 초속 SiS_i미터의 일정한 속력으로 계속 달아난다. 내가 그 메추라기를 쫓고 있지 않은 동안에도 달아난다.

나는 초속 YY미터의 일정한 속력으로 달리며, 원하는 순간에 즉시 방향을 바꾼다. 어떤 메추라기와 같은 지점에 있게 되는 순간 그 메추라기를 붙잡고, 붙잡는 데 걸리는 시간은 없다.

메추라기를 모두 붙잡는 데 걸리는 최소 시간은 몇 초인가?

입력

첫 줄에 테스트 케이스의 개수 TT가 주어진다. 이어서 테스트 케이스가 TT개 주어진다.

각 테스트 케이스의 첫 줄에는 나의 속력 YY와 메추라기의 수 NN이 공백으로 구분되어 주어진다. 둘째 줄에는 메추라기의 위치 P1,,PNP_1, \dots, P_N이, 셋째 줄에는 메추라기의 속력 S1,,SNS_1, \dots, S_N이 공백으로 구분되어 주어진다.

제한

  • 1T1001 \le T \le 100
  • 2Y1002 \le Y \le 100
  • 1N5001 \le N \le 500
  • 104Pi104-10^4 \le P_i \le 10^4이고 Pi0P_i \ne 0
  • 1Si<Y1 \le S_i < Y

출력

각 테스트 케이스마다 Case #x: y 형식으로 한 줄씩 출력한다. xx11부터 시작하는 테스트 케이스 번호이고, yy는 메추라기를 모두 붙잡는 데 필요한 최소 시간(초)이다.

yy는 소수점 아래 일곱째 자리에서 반올림하여 소수점 아래 여섯 자리까지 출력한다. 모든 테스트 데이터에서 정답은 반올림 결과가 갈리는 경계로부터 5×1095 \times 10^{-9} 이상 떨어져 있다.