점프하는 개구리 조이

개구리는 발판을 순서대로 건너며 밧줄을 당겨 앞 발판을 끌어당기고 D 이하 구간은 뛰어넘고 나머지는 헤엄쳐 헤엄 횟수를 최소화합니다.

보통7동적 계획법그리디누적 합아직 제출이 없습니다시간 제한3초메모리 제한256 MB

문제

개구리 조이는 집 옆에 있는 긴 연못을 건너려고 한다. 연못은 길이가 LL인 선분이고, 그 위에 연잎 nn개가 놓여 있다. 연잎에는 왼쪽부터 1번, 2번, 순서대로 번호를 붙인다. 조이는 연못의 왼쪽 끝에서 출발해 1번 연잎, 2번 연잎을 차례로 밟고, 마지막에는 nn번 연잎에서 오른쪽 끝으로 건너간다. 뒤로 돌아갈 수는 없다.

이동 방법은 점프와 헤엄 두 가지다. 두 지점 사이의 거리가 DD 이하이면 점프할 수 있고, 헤엄은 거리에 상관없이 몇 번이든 할 수 있다. 조이는 몸이 젖는 것을 싫어하므로 헤엄치는 횟수를 최소로 줄이려고 한다.

인접한 두 지점 사이에는 모두 밧줄이 하나씩 묶여 있다. 왼쪽 끝과 1번 연잎 사이, 인접한 두 연잎 사이, nn번 연잎과 오른쪽 끝 사이가 모두 여기에 해당한다.

기호는 다음과 같이 쓴다.

  1. PiP_iii번 연잎이고 (1in1 \le i \le n), P0P_0은 왼쪽 끝, Pn+1P_{n+1}은 오른쪽 끝이다.
  2. rir_iPiP_iPi+1P_{i+1}을 잇는 밧줄 RiR_i의 길이다 (0in0 \le i \le n).
  3. pip_iPiP_i의 위치다 (0in+10 \le i \le n+1). p0=0p_0 = 0, pn+1=Lp_{n+1} = L이고, pi<pi+1p_i < p_{i+1}, ripi+1pir_i \ge p_{i+1} - p_i가 성립한다.

조이가 PiP_i 위에 있을 때 밧줄 RiR_i를 당기면 Pi+1P_{i+1}이 조이 쪽으로 끌려온다. 이때 밧줄 Ri+1R_{i+1}이 팽팽하면, 즉 밧줄의 길이가 그 밧줄이 잇는 두 연잎 사이의 거리와 같으면 Pi+2P_{i+2}도 함께 끌려오고, 그다음 밧줄도 팽팽하면 같은 방식으로 계속 이어진다. 팽팽하지 않은 밧줄에서는 움직임이 더 전달되지 않는다. 오른쪽 끝 Pn+1P_{n+1}은 고정되어 있으므로 Pn+1P_{n+1}까지 밧줄이 모두 팽팽해지면 연잎은 전혀 움직이지 않는다. 밧줄을 아무리 당겨도 연잎이 조이가 서 있는 위치보다 왼쪽으로 가지는 않는다.

예 1. 조이가 P2P_2 위에 있고 p2=10p_2 = 10, p3=20p_3 = 20, p4=30p_4 = 30, p5=40p_5 = 40, r2=r3=r4=15r_2 = r_3 = r_4 = 15라고 하자. P2P_2P3P_3, P3P_3P4P_4, P4P_4P5P_5 사이의 거리는 모두 10인데 밧줄 길이는 15이므로 팽팽한 밧줄이 하나도 없다. 조이가 R2R_2를 1만큼 당기면 P3P_3이 1만큼 다가와 p3=19p_3 = 19가 된다. R3R_3이 팽팽하지 않았으므로 P4P_4는 움직이지 않는다. 여기서 4만큼 더 당기면, 즉 모두 5만큼 당기면 p3=15p_3 = 15, p4=30p_4 = 30, p5=40p_5 = 40이 된다. 이제 p4p3=15=r3p_4 - p_3 = 15 = r_3이므로 R3R_3이 팽팽해진다. 1만큼 더 당기면 P3P_3P4P_4가 함께 움직여 p3=14p_3 = 14, p4=29p_4 = 29가 되고, R4R_4는 아직 팽팽하지 않으므로 p5=40p_5 = 40 그대로다.

예 2. 조이가 P0P_0에 있고 n=1n = 1, p1=10p_1 = 10, L=20L = 20이라고 하자. 정의에 따라 p0=0p_0 = 0, p2=20p_2 = 20이다. 여기에 r0=10r_0 = 10, r1=11r_1 = 11이라고 하자. 조이가 R0R_0을 1만큼 당기면 p1=9p_1 = 9가 되고, P1P_1P2P_2 사이의 거리가 11이 되어 R1R_1이 팽팽해진다. 이 상태에서 R0R_0을 더 당겨도 P2P_2는 오른쪽 끝이라 고정이므로 P1P_1은 더 이상 움직이지 않는다.

조이가 왼쪽 끝에서 오른쪽 끝까지 가는 동안 몸을 적셔야 하는 최소 횟수를 구하라.

입력

첫 줄에 테스트 케이스의 개수 TT (T50T \le 50)가 주어진다. 각 테스트 케이스는 세 부분으로 이루어진다.

첫 부분에는 두 양의 정수 nn (n1000n \le 1000)과 DD (D109D \le 10^9)가 주어진다. 둘째 부분에는 정수 n+2n + 2p0,p1,,pn+1p_0, p_1, \dots, p_{n+1}이 주어진다. 셋째 부분에는 양의 정수 n+1n + 1r0,r1,,rnr_0, r_1, \dots, r_n이 주어진다. pip_irir_i는 모두 10910^9 이하다.

입력으로 주어지는 값은 모두 문제에서 설명한 조건을 만족한다. 인접한 수 사이나 줄 사이에는 공백이나 줄바꿈이 하나 이상 올 수 있다.

출력

각 테스트 케이스마다 Case x: y 형식으로 한 줄씩 출력한다. xx는 1부터 시작하는 테스트 케이스 번호이고, yy는 조이가 헤엄쳐야 하는 최소 횟수다.