Problem F: 2차원 배열 내의 최대 윈도우 합

Problem F: 2차원 배열 내의 최대 윈도우 합

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 234  Solved: 49
[Submit] [Status] [Web Board] [Creator:]

Description

동건이가 자취하고 있는 건물의 주인은 숫자를 참 좋아한다.
슬라이딩이 가능한 형태의 창문에 숫자들이 가득하게 붙어있다.
동건이는 집에 있다 가끔 심심해 질 때에는 창틀을 슬라이딩 하며 놀곤 한다.
가끔 이 창틀 안에 있는 값들의 합이 얼마일지 궁금할 때가 있는데, 
항상 궁금증에만 머물고 귀찮음에 계산은 하지 않는다.


귀찮음이 많은 동건이를 위해, 
주어진 2차원 정수 배열과 정사각형으로 이루어진 윈도우의 한 변의 크기가 주어질 때, 
윈도우를 배열 내의 모든 부분에 대해 이동시키면서 윈도우 내의 모든 값의 합들을 각각 구해본 것들 중 최대값을 알려주는 프로그램을 만들어 주자

Input

테스트케이스 t가 입력된다 (int 범위의 자연수)
2차원 정수 배열의 크기 w, h를 입력받는다. (int 범위 300이하의 자연수)
이후 w, h 만큼 2차원 배열을 입력받는다. (short 범위의 정수)


이후 정사각형의 윈도우의 한 변의 크기 s를 입력받습니다. (2인 경우 2*2 크기의 윈도우를 의미함) (s는 100이하의 정수)
입출력 예제 참고

Output

주어진 2차원 배열에서 윈도우를 이동시키면서 각 윈도우의 합 중 최대값들을 출력한다.(입출력 예제 참고)

Sample Input Copy

1
3 3
1 3 -1
2 4 7
0 5 -2
2

Sample Output Copy

14