//#include <fstream>
#include <cstdio>
#include <algorithm>
#include <ctime>
#include <cstdlib>
using namespace std;
//ifstream f("elimin.in");
//ofstream g("elimin.out");
FILE *fin=fopen("elimin.in","r");
FILE *fout=fopen("elimin.out","w");
int m[20][550],i,j,n,l,c,k,lt,ct,v[21];
int sums[550],mini[550],sum,rasp;
clock_t t;
int verif()
{
int sum=0;
for (int i=1;i<=l;++i)
for (int j=1;j<=c;++j)
if (!v[i])
{
sums[j]+=m[i][j];
}
else break;
sort (sums+1,sums+c+1);
/*for (int i=1;i<=c;++i)
g<<sums[i];*/
for (int i=c;i>ct;--i)
sum+=sums[i];
for (int i=1;i<=c;++i)
sums[i]=0;
return sum;
}
int main()
{
t = clock();
fscanf(fin,"%d%d%d%d",&l,&c,<,&ct);
/*if (c>l)
l^=c,c^=l,l^=c,lt^=ct,ct^=lt,lt^=ct;*/
if (l<=c)
for (i=1;i<=l;++i)
for (j=1;j<=c;++j)
fscanf(fin,"%d",&m[i][j]);
else
{
for (i=1;i<=l;++i)
for (j=1;j<=c;++j)
fscanf(fin,"%d",&m[j][i]);
l^=c,c^=l,l^=c,lt^=ct,ct^=lt,lt^=ct;
}
for (i=1;i<=lt;++i)v[i]=1;
do
{
sum=verif();
if (sum>rasp)
rasp=sum;
if (((double)clock()-t)/CLOCKS_PER_SEC>1.4)
fprintf(fout,"%d",rasp),exit(0);
}while(prev_permutation(v+1,v+l+1));
fprintf(fout,"%d",rasp);
return 0;
}