/*
TASK: tre
LANG: C++
*/
#include<iostream>
using namespace std;
int Sum_max[100003];
int tim[10003];
int arr[101][10003];
int main()
{
    int N, K, L, D;
    
    cin>>N>>K>>L>>D;
    for (int i=1; i<=D; i++)
        for(int j=1; j<=L; j++)
                cin>>arr[i][j];
    for (int p=1; p<=L; p++)
    {
        if (N==0) break;
        int sum=0;
        int t=0;
        for (int q=1; q<=D; q++)
        {
            t++;
            sum=sum+arr[q][p];
            N--;
            if (sum>Sum_max[p])
            {
               Sum_max[p]=sum;
               tim[p]=t;
            }
        }
    }
    
    int sum=0;
    int t=0;
    for (int c=1; c<=L; c++)
        if (t+tim[c]>K) break;
        else
        {
            sum=sum+Sum_max[c];
            t=t+tim[c];
        }
    cout<<sum<<'\n';    
    return 0;
}
                
