이동하기 2

N×N 격자에 담긴 사탕이 있을 때, (1,1)에서 (N,N)으로 가는 K개의 단조 경로로 중복 없이 최대한 많은 사탕을 모은다.

보통7동적 계획법구현행렬면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

준규는 N×NN \times N 크기의 미로에 갇혀 있다. 미로는 1×11 \times 1 크기의 방으로 나뉘어 있고, 각 방에는 사탕이 놓여 있다. 방은 (r,c)(r, c)로 나타내며 rrcc열이라는 뜻이다. 가장 왼쪽 위 방이 (1,1)(1, 1)이고, 가장 오른쪽 아래 방이 (N,N)(N, N)이다.

준규는 (1,1)(1, 1)에서 출발해 (N,N)(N, N)까지 가는 이동을 총 KK번 한다. (r,c)(r, c)에 있으면 (r+1,c)(r+1, c)(r,c+1)(r, c+1)로만 갈 수 있고, 미로 밖으로 나갈 수는 없다. 방에 들어가면 그 방에 남아 있는 사탕을 모두 가져간다. 이미 사탕을 가져간 방을 다시 지나가면 그 방에서 가져올 사탕은 없다. 같은 경로를 여러 번 골라도 된다.

KK번의 이동을 마쳤을 때 가져올 수 있는 사탕 개수의 최댓값을 구하시오.

입력

첫째 줄에 미로의 크기 NN과 이동 횟수 KK가 주어진다. (1N501 \le N \le 50, 0K100 \le K \le 10)

둘째 줄부터 NN개 줄에는 각각 NN개의 수가 주어진다. rr번째 줄의 cc번째 수는 (r,c)(r, c)에 놓여 있는 사탕의 개수이며, 0 이상 1,000 이하이다.

출력

첫째 줄에 준규가 KK번 이동하면서 가져올 수 있는 사탕 개수의 최댓값을 출력한다. KK가 0이면 이동을 한 번도 하지 않으므로 0을 출력한다.