/*
#include<stdio.h>
int main()
{
int i,j,n,map[11][11]= {0};
int x, y;
for(i=1; i<=10; i++)
{
for(j=1; j<=10; j++)
{
scanf("%d",&map[i][j]);
}
}
if(map[2][2] == 2) {
map[2][2] = 9;
}
else{
x=2,y=2;
map[x][y]=9;
for(;;)
{
if(map[x][y+1]==0) {
y++;
map[x][y]=9;
}
else if(map[x][y+1]==2) {
y++;
map[x][y]=9;
break;
}
else if(map[x][y+1]==1) {
if(map[x+1][y]==2) {
x++;
map[x][y]=9;
break;
}
else if(map[x+1][y]==0){
x++;
map[x][y]=9;
}
else{
break;
}
}
}
}
for(i=1; i<=10; i++) {
for(j=1; j<=10; j++) {
printf("%d ", map[i][j]);
}
printf("\n");
}
return 0;
}
*/
#include<stdio.h>
int main()
{
int map[100][100]={0};
int i,j,m,n,x,y,a,b,k,sum=0;
scanf("%d %d %d %d",&m,&n,&x,&y);
for(i=0;i<n;i++){
for(j=0;j<m;j++){
scanf("%d",&map[i][j]);
}
}
for(i=0;i<n;i++){
for(j=0;j<m;j++){
for(a=i;a<i+y;a++){
for(b=j;b<j+x;b++){
k+=map[a][b];
if(k>sum){
sum=k;
}
}
}
}
}
printf("%d",sum);
return 0;
}