var n,m,aux1,i,j,ssmax,ii,jj,b,x,p,im,jm,s,lj,u,smax:integer;
f,g:text;
a:array[1..300,1..300]of integer;
r:array[1..300,1..300]of integer;
begin
assign(f,'teren.in'); reset(f);
assign(g,'teren.out'); rewrite(g);
read(f,n);
read(f,m);
read(f,x);
for i:=1 to n do begin
for j:=1 to m do begin
read(f,a[i,j]);
end;
end;
smax:=0; r[1,1]:=a[1,1];
for i:=1 to n do begin
for j:=1 to m do begin
if i=1 then begin
if j>1 then begin r[i,j]:=a[i,j]+r[i,j-1]; end; end
else if j=1 then r[i,j]:=a[i,j]+r[i-1,j]
else r[i,j]:=a[i,j]+r[i-1,j]+r[i,j-1]-r[i-1,j-1];
end;
end;
for i:=1 to n do begin
for j:=1 to m do begin
for ii:=i to n do begin
for jj:=j to m do begin
b:=0;
if (j*i=1) then begin lj:=r[ii,jj]; b:=1; end;
if (i*j>1) and ((j=1) or (i=1)) then begin if j=1 then begin lj:=r[ii,jj]-r[i-1,jj] end
else if i=1 then begin lj:=r[ii,jj]-r[ii,j-1]end; end
else if i*j>1 then lj:=r[ii,jj]-r[ii,j-1]-r[i-1,jj]+r[i-1,j-1];
if lj<=x then s:=(ii-i+1)*(jj-j+1)
else break;
if s>smax then begin smax:=s; end;
end;
end;
end;
end;
write(g,smax);
close(f);
close(g);
end.