#include <stdio.h>
#include <string.h>
#define FOR(i, a, b) for (i = a; i <= b; i++)
#define maxim(a, b) ((a > b) ? a : b)
#define NMax 305
int M, N, X, D[NMax][NMax], S[NMax], SUM[NMax], bst;
int main(void)
{
int i, j, k, lx = 0;
freopen("teren.in", "r", stdin);
freopen("teren.out", "w", stdout);
scanf("%d %d %d", &M, &N, &X);
FOR (i, 1, M)
FOR (j, 1, N)
scanf("%d", &D[i][j]);
FOR (i, 1, M)
{
memset(S, 0, sizeof(S));
FOR (j, i, M)
{
FOR (k, 1, N)
S[k] += D[j][k],
SUM[k] = SUM[k-1] + S[k];
if (bst > (j-i+1) * N) continue;
lx = 0;
FOR (k, 1, N)
{
while (SUM[k] - SUM[lx] > X)
lx++;
bst = maxim(bst, (k-lx) * (j-i+1));
}
}
}
printf("%d\n", bst);
return 0;
}