#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ull unsigned long long
int a[1010], b[1010][1010], sum[1010][1010];
int f[1010];
int main()
{
int n, m, p, t;
scanf("%d%d%d", &n, &m, &p);
for (int i = 1; i <= n; ++i)
for (int j = 1; j <= m; ++j)
scanf("%d", &b[i][j]);
for (int i = 1; i <= n; ++i) scanf("%d", &a[i]);
for (int i = 1; i <= n; ++i)
{
t = i - 1;
for (int j = 1; j <= m; ++j)
{
++t;
if (t == n + 1) t = 1;
sum[i][j] = sum[i][j-1] + b[t][j];
}
}
memset(f, 0xcf, sizeof(f));
f[0] = 0;
for (int i = 1; i <= m; ++i)
{
for (int j = 1; j <= n; ++j)
for (int k = 1; k <= p && k <= i; ++k)
{
f[i] = max(f[i], f[i-k] + sum[j][i] - sum[j][i-k] - a[j]);
}
}
printf("%d\n", f[m]);
return 0;
}