칙칙폭폭

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

문제

도시 1에서 출발해 도시 NN까지 가는 기차가 있다. 이 기차는 도시 번호가 커지는 순서대로 도시 1, 도시 2, 도시 3, ..., 도시 NN을 차례로 지난다. 기차에는 한 번에 최대 PP명이 탈 수 있다.

도시 ii에서 도시 jj로 가려는 사람은 모두 Ai,jA_{i,j}명이고, 이 구간의 1인당 요금은 Ci,jC_{i,j}원이다. 승객은 자기가 출발하는 도시에서만 타고, 자기가 내리려는 도시에서만 내린다. 기차는 기다리는 사람 중에서 태울 사람을 자유롭게 고를 수 있고, 한 사람을 일부만 태울 수는 없다.

기차가 올릴 수 있는 최대 수익을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 도시의 수 NN과 기차의 정원 PP가 주어진다. (1N501 \le N \le 50, 1P1001 \le P \le 100)

다음 N1N-1개의 줄에는 사람 수가 주어진다. ii번째 줄의 jj번째 수는 도시 ii에서 도시 i+ji+j로 가려는 사람의 수 Ai,i+jA_{i,i+j}이고, ii번째 줄에는 수가 NiN-i개 있다. (0Ai,j1000 \le A_{i,j} \le 100)

그다음 N1N-1개의 줄에는 요금이 주어진다. ii번째 줄의 jj번째 수는 도시 ii에서 도시 i+ji+j로 가는 1인당 요금 Ci,i+jC_{i,i+j}이고, ii번째 줄에는 수가 NiN-i개 있다. (1Ci,j1001 \le C_{i,j} \le 100)

NN이 1이면 두 표 모두 비어 있고, 입력은 첫째 줄로 끝난다.

출력

첫째 줄에 기차가 올릴 수 있는 최대 수익을 출력한다.

힌트

첫 번째 예제에서 기차는 다음과 같이 움직일 때 수익이 가장 크다.

도시 1에서 1번 도시에서 2번 도시로 가는 사람 2명, 1번에서 3번으로 가는 사람 2명, 1번에서 4번으로 가는 사람 1명을 태운다. 여기까지 수익은 5×2+3×2+4×1=205 \times 2 + 3 \times 2 + 4 \times 1 = 20이다.

도시 2에서 1번에서 2번으로 가는 사람 2명을 내려주고, 2번에서 3번으로 가는 사람 4명을 태운다. 수익은 20+6×4=4420 + 6 \times 4 = 44가 된다.

도시 3에서 1번에서 3번으로 가는 사람 2명과 2번에서 3번으로 가는 사람 4명을 내려준 뒤, 3번에서 4번으로 가는 사람 6명을 태운다. 수익은 44+1×6=5044 + 1 \times 6 = 50이 된다.

도시 4에 도착하면 남은 사람을 모두 내려준다. 최종 수익은 50이다.