어떤 전기공학자가 2차원 신호를 거르는 효율적인 알고리즘을 만들려고 한다. 신호는 R행 C열의 블록으로 디지털화되어 있고, 블록마다 정수 값이 하나씩 들어 있다.
필터의 창은 직사각형이고 크기는 (2M+1)행 (2N+1)열이다. 여기서 M과 N은 0 이상의 정수다. 이 창이 입력 신호 전체를 훑고 지나가면서 다음 규칙에 따라 또 하나의 2차원 신호를 만든다.
행 번호와 열 번호는 모두 1부터 센다. 예를 들어 M=1, N=2이면 창의 크기는 3행 5열이다. 창의 중심이 4행 5열에 있으면 창은 3행 3열부터 5행 7열까지를 덮고, 그 영역의 최댓값이 출력 신호의 4행 5열 값이 된다. 창의 중심이 1행 2열에 있으면 창은 -1행 -1열부터 2행 4열까지 걸치지만 신호 밖은 무시하므로, 실제로 보는 값은 1행 1열부터 2행 4열까지다.
입력 신호가 주어졌을 때 이 2차원 최댓값 필터가 만드는 출력 신호를 구하는 프로그램을 작성하시오.
첫째 줄에 입력 신호의 행 수 R과 열 수 C가 공백으로 구분되어 주어진다. (1≤R≤1000, 1≤C≤1000)
둘째 줄에 M과 N이 공백으로 구분되어 주어진다. (0≤M≤60, 0≤N≤60) 창의 크기는 M과 N으로 정해지며 (2M+1)행 (2N+1)열이다.
셋째 줄부터 R개의 줄에 입력 신호의 값이 주어진다. 각 줄에는 그 행의 값 C개가 왼쪽부터 순서대로 공백으로 구분되어 주어진다. 각 값은 0 이상 10000 이하의 정수다.
R개의 줄에 출력 신호를 출력한다. 각 줄에는 그 행의 출력 값 C개를 공백으로 구분해 출력한다.