해적의 보물 상자

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

문제

은퇴한 해적이 금화를 상자에 넣고 흐린 연못에 가라앉혀 숨기려고 한다.

상자는 직육면체이다. 윗면과 아랫면은 정수 길이의 변을 가진 서로 합동인 직사각형으로, 한 변은 최대 aa, 다른 변은 최대 bb이다. 높이는 임의의 양의 정수이다. 상자는 항상 격자에 맞춰 놓이며, 윗면은 연못 수면과 평행을 유지한다.

연못의 수면은 m×nm \times n개의 단위 정사각형으로 이루어진 직사각형이며, 높고 수직인 바위 벽으로 둘러싸인 골짜기를 가득 채우고 있다. 칸 (i,j)(i, j)에서의 물 깊이는 di,jd_{i,j}이다.

상자를 연못에 내리면 밑면이 연못 바닥에 닿을 때까지 최대한 가라앉아, 자신의 밑면이 덮는 칸들 중 가장 얕은 칸 위에 놓인다. 잠긴 상자가 밀어낸 물은 연못 수면의 높이를 끌어올린다. 이 상승은 상자 주변에 밀려난 물이 퍼질 공간이 없어도 일어나며, 골짜기 벽은 물이 절대 넘치지 않을 만큼 충분히 높다.

숨겨지려면 상자의 윗면이 결국 높아진 수면보다 엄격히 아래에 있어야 한다. 만약 상자가 딱 한 단위만 더 높았다면 윗면이 수면에 닿아 보이게 되므로, 이는 허용되지 않는다.

이렇게 연못에 숨길 수 있는 상자의 최대 부피를 구하여라.

입력

첫째 줄에 네 정수 aa, bb, mm, nn이 주어진다 (1a,b,m,n5001 \le a, b, m, n \le 500). 연못의 수면은 m×nm \times n이고, 상자 윗면의 크기는 최대 a×ba \times b이다. aabb는 윗면 크기가 a×ba \times b인 상자로 연못 전체를 결코 덮을 수 없을 만큼 작다.

이어지는 mm개의 줄에는 각각 nn개의 정수가 주어진다. ii번째 줄의 jj번째 정수는 칸 (i,j)(i, j)의 물 깊이 di,jd_{i,j}이다 (0di,j1090 \le d_{i,j} \le 10^9).

출력

직사각형 상자(윗면의 한 변은 aa 이하, 다른 변은 bb 이하)를 연못 수면 아래로 완전히 잠기게 할 수 있는 최대 부피를 정수 하나로 출력한다. 숨길 수 있는 상자가 없으면 00을 출력한다.