2차원 최댓값 필터

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

문제

어떤 전기공학자가 2차원 신호를 거르는 효율적인 알고리즘을 만들려고 한다. 신호는 RRCC열의 블록으로 디지털화되어 있고, 블록마다 정수 값이 하나씩 들어 있다.

필터의 창은 직사각형이고 크기는 (2M+1)(2M+1)(2N+1)(2N+1)열이다. 여기서 MMNN은 0 이상의 정수다. 이 창이 입력 신호 전체를 훑고 지나가면서 다음 규칙에 따라 또 하나의 2차원 신호를 만든다.

  1. 창의 중심이 입력 신호의 AABB열에 있으면, 창은 출력 신호의 AABB열에 값 하나를 만든다.
  2. 만드는 값은 창이 덮은 영역 안에 있는 입력 값 중 최댓값이다.
  3. 창에서 입력 신호 밖으로 나간 부분은 계산에 넣지 않는다. 입력 신호 안에 들어온 부분만 본다.

행 번호와 열 번호는 모두 1부터 센다. 예를 들어 M=1M = 1, N=2N = 2이면 창의 크기는 3행 5열이다. 창의 중심이 4행 5열에 있으면 창은 3행 3열부터 5행 7열까지를 덮고, 그 영역의 최댓값이 출력 신호의 4행 5열 값이 된다. 창의 중심이 1행 2열에 있으면 창은 -1행 -1열부터 2행 4열까지 걸치지만 신호 밖은 무시하므로, 실제로 보는 값은 1행 1열부터 2행 4열까지다.

입력 신호가 주어졌을 때 이 2차원 최댓값 필터가 만드는 출력 신호를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 입력 신호의 행 수 RR과 열 수 CC가 공백으로 구분되어 주어진다. (1R10001 \le R \le 1000, 1C10001 \le C \le 1000)

둘째 줄에 MMNN이 공백으로 구분되어 주어진다. (0M600 \le M \le 60, 0N600 \le N \le 60) 창의 크기는 MMNN으로 정해지며 (2M+1)(2M+1)(2N+1)(2N+1)열이다.

셋째 줄부터 RR개의 줄에 입력 신호의 값이 주어진다. 각 줄에는 그 행의 값 CC개가 왼쪽부터 순서대로 공백으로 구분되어 주어진다. 각 값은 0 이상 10000 이하의 정수다.

출력

RR개의 줄에 출력 신호를 출력한다. 각 줄에는 그 행의 출력 값 CC개를 공백으로 구분해 출력한다.