#include<algorithm>
#include<iostream>
#include<cstdlib>
#include<cstdio>
#include<string>
using namespace std;
//==================================================
int N,M,R,C;
int map[20][20],ans[20][20];
int a[20],b[20],SUM=0x3f3f3f3f;
int dx[5]={0,1,0,-1,0};
int dy[5]={0,0,1,0,-1};
//==================================================
void init();
void bfsh(int);
void bfsl(int);
void pt();
//==================================================
void pt()
{
for(int i=1;i<=R;i++)
printf("%d ",a[i]);
cout<<endl;
for(int i=1;i<=C;i++)
printf("%d ",b[i]);
cout<<endl<<endl;
}
//==================================================
void aans()
{
int sum=0;
for(int i=1;i<=R;i++)
for(int j=1;j<=C;j++)
ans[i][j]=map[a[i]][b[j]];
for(int i=1;i<=R;i++)
for(int j=1;j<=C;j++){
for(int k=1;k<=4;k++){
if( j+dx[k]>=1 && j+dx[k]<=C && i+dy[k]>=1 && i+dy[k]<=R )
sum+=abs(ans[i][j]-ans[i+dy[k]][j+dx[k]]);
}
}
if(sum<SUM)SUM=sum;
//cout<<sum<<endl;
}
//==================================================
void bfsl(int l)
{
if(l>C){aans();return;}
for(int i=b[l-1]+1;i<=M;i++){
b[l]=i;
bfsl(l+1);
}
}
//==================================================
void bfsh(int h)
{
if(h>R){/*pt();*/bfsl(1);return;}
for(int i=a[h-1]+1;i<=N;i++){
a[h]=i;
bfsh(h+1);
}
}
//==================================================
void init()
{
cin>>N>>M>>R>>C;
for(int i=1;i<=N;i++){
for(int j=1;j<=M;j++){
cin>>map[i][j];
}
}
}
//==================================================
int main()
{
init();
bfsh(1);
cout<<SUM/2;
// system("pause");
return 0;
}