존이 낚시 여행을 떠난다. 쓸 수 있는 시간은 h시간이고 (1≤h≤16), 이 지역에는 호수가 n개 있다 (2≤n≤25). 호수 L1,L2,…,Ln은 일방통행 도로 하나를 따라 차례대로 놓여 있다. 존은 L1에서 출발하고, 여행은 원하는 호수에서 끝내도 된다. 이동은 바로 다음 호수로만 할 수 있지만, 멈추고 싶지 않은 호수에서는 멈추지 않아도 된다. i=1,…,n−1에 대해 Li에서 Li+1까지 가는 데 걸리는 시간은 5분 단위로 ti이다 (0<ti≤192). 예를 들어 t3=4는 L3에서 L4까지 20분이 걸린다는 뜻이다.
존은 계획을 세우려고 호수 정보를 모았다. 호수 Li에서 처음 5분 동안 잡을 것으로 예상되는 물고기 수는 Fi이다 (Fi≥0). Li에서 5분 동안 낚시할 때마다 그 호수에서 다음 5분 동안 잡을 것으로 예상되는 물고기 수가 di만큼 줄어든다 (di≥0). 어떤 구간의 예상 물고기 수가 di보다 작으면 다음 구간부터 그 호수에는 물고기가 남아 있지 않다. 계획을 단순하게 만들려고 존은 다른 사람이 호수에서 낚시해 물고기 수를 바꾸는 일은 없다고 가정한다.
잡을 것으로 예상되는 물고기 수가 가장 많아지도록 존의 낚시 계획을 세우는 프로그램을 작성하시오. 각 호수에서 낚시하는 시간은 5분의 배수여야 한다.
입력은 테스트 케이스 여러 개로 이루어진다. 각 테스트 케이스의 첫째 줄에 n이 주어진다. 둘째 줄에 h가 주어진다. 셋째 줄에 F1,…,Fn이 공백으로 구분되어 주어지고, 넷째 줄에 d1,…,dn이, 다섯째 줄에 t1,…,tn−1이 같은 방식으로 주어진다. n=0인 테스트 케이스가 입력의 끝을 알린다.
각 테스트 케이스마다 두 줄을 출력한다. 첫째 줄에는 예상 물고기 수가 가장 많은 계획에서 각 호수에 머문 낚시 시간을 분 단위로 L1부터 Ln까지 순서대로, 쉼표와 공백(, )으로 구분해 출력한다. 한 줄이 80자를 넘더라도 계획 전체를 한 줄에 출력한다. 둘째 줄에는 Number of fish expected: 뒤에 그 물고기 수를 이어 출력한다.
가장 많은 계획이 여러 개면 L1에 가장 오래 머무는 계획을 고른다. 물고기를 한 마리도 잡지 못하는 구간이 있어도 상관없다. 그래도 계획이 여러 개면 L2에 가장 오래 머무는 계획을 고르고, 이어서 L3부터 Ln까지 같은 방식으로 비교한다. 테스트 케이스 사이에는 빈 줄을 하나 출력한다.