낚시 여행

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

문제

존이 낚시 여행을 떠난다. 쓸 수 있는 시간은 hh시간이고 (1h161 \le h \le 16), 이 지역에는 호수가 nn개 있다 (2n252 \le n \le 25). 호수 L1,L2,,LnL_1, L_2, \ldots, L_n은 일방통행 도로 하나를 따라 차례대로 놓여 있다. 존은 L1L_1에서 출발하고, 여행은 원하는 호수에서 끝내도 된다. 이동은 바로 다음 호수로만 할 수 있지만, 멈추고 싶지 않은 호수에서는 멈추지 않아도 된다. i=1,,n1i = 1, \ldots, n-1에 대해 LiL_i에서 Li+1L_{i+1}까지 가는 데 걸리는 시간은 5분 단위로 tit_i이다 (0<ti1920 < t_i \le 192). 예를 들어 t3=4t_3 = 4L3L_3에서 L4L_4까지 20분이 걸린다는 뜻이다.

존은 계획을 세우려고 호수 정보를 모았다. 호수 LiL_i에서 처음 5분 동안 잡을 것으로 예상되는 물고기 수는 FiF_i이다 (Fi0F_i \ge 0). LiL_i에서 5분 동안 낚시할 때마다 그 호수에서 다음 5분 동안 잡을 것으로 예상되는 물고기 수가 did_i만큼 줄어든다 (di0d_i \ge 0). 어떤 구간의 예상 물고기 수가 did_i보다 작으면 다음 구간부터 그 호수에는 물고기가 남아 있지 않다. 계획을 단순하게 만들려고 존은 다른 사람이 호수에서 낚시해 물고기 수를 바꾸는 일은 없다고 가정한다.

잡을 것으로 예상되는 물고기 수가 가장 많아지도록 존의 낚시 계획을 세우는 프로그램을 작성하시오. 각 호수에서 낚시하는 시간은 5분의 배수여야 한다.

입력

입력은 테스트 케이스 여러 개로 이루어진다. 각 테스트 케이스의 첫째 줄에 nn이 주어진다. 둘째 줄에 hh가 주어진다. 셋째 줄에 F1,,FnF_1, \ldots, F_n이 공백으로 구분되어 주어지고, 넷째 줄에 d1,,dnd_1, \ldots, d_n이, 다섯째 줄에 t1,,tn1t_1, \ldots, t_{n-1}이 같은 방식으로 주어진다. n=0n = 0인 테스트 케이스가 입력의 끝을 알린다.

출력

각 테스트 케이스마다 두 줄을 출력한다. 첫째 줄에는 예상 물고기 수가 가장 많은 계획에서 각 호수에 머문 낚시 시간을 분 단위로 L1L_1부터 LnL_n까지 순서대로, 쉼표와 공백(, )으로 구분해 출력한다. 한 줄이 80자를 넘더라도 계획 전체를 한 줄에 출력한다. 둘째 줄에는 Number of fish expected: 뒤에 그 물고기 수를 이어 출력한다.

가장 많은 계획이 여러 개면 L1L_1에 가장 오래 머무는 계획을 고른다. 물고기를 한 마리도 잡지 못하는 구간이 있어도 상관없다. 그래도 계획이 여러 개면 L2L_2에 가장 오래 머무는 계획을 고르고, 이어서 L3L_3부터 LnL_n까지 같은 방식으로 비교한다. 테스트 케이스 사이에는 빈 줄을 하나 출력한다.