uses math;
const fi='';
fo='';
maxn=1000;
var a:array[1..maxn,1..maxn] of byte;
i,j,m,n,res,top:longint;
h,s,left,right:array[1..maxn] of integer;
procedure nhap;
begin
assign(input,fi);reset(input);
readln(m,n);
for i:=1 to m do
for j:=1 to n do read(a[i,j]);
close(input);
end;
procedure push(x:integer);
begin
inc(top);
s[top]:=x;
end;
function get:integer;
begin
exit(s[top]);
end;
procedure pop;
begin
dec(top);
end;
procedure xuly;
begin
for i:=1 to m do
begin
for j:=1 to n do
if a[i,j]=1 then
begin
h[j]:=h[j]+1;
end else h[j]:=0;
top:=0;
for j:=1 to n do
begin
while (top<>0) and (h[j]<=h[get]) do pop;
if top=0 then left[j]:=0 else left[j]:=get;
push(j);
end;
top:=0;
for j:=n downto 1 do
begin
while (top<>0) and (h[j]<=h[get]) do pop;
if top=0 then right[j]:=n+1 else right[j]:=get;
push(j);
end;
for j:=1 to n do
begin
res:=max(res,h[j]*(right[j]-left[j]-1));
end;
end;
end;
procedure inkq;
begin
assign(output,fo);rewrite(output);
writeln(res);
close(output);
end;
begin
nhap;
xuly;
inkq;
end.
dXNlcyAgICBtYXRoOwpjb25zdCAgIGZpPScnOwogICAgICAgIGZvPScnOwogICAgICAgIG1heG49MTAwMDsKdmFyICAgICBhOmFycmF5WzEuLm1heG4sMS4ubWF4bl0gb2YgYnl0ZTsKICAgICAgICBpLGosbSxuLHJlcyx0b3A6bG9uZ2ludDsKICAgICAgICBoLHMsbGVmdCxyaWdodDphcnJheVsxLi5tYXhuXSBvZiBpbnRlZ2VyOwpwcm9jZWR1cmUgbmhhcDsKYmVnaW4KICAgIGFzc2lnbihpbnB1dCxmaSk7cmVzZXQoaW5wdXQpOwogICAgcmVhZGxuKG0sbik7CiAgICBmb3IgaTo9MSB0byBtIGRvCiAgICAgICAgZm9yIGo6PTEgdG8gbiBkbyByZWFkKGFbaSxqXSk7CiAgICBjbG9zZShpbnB1dCk7CmVuZDsKcHJvY2VkdXJlIHB1c2goeDppbnRlZ2VyKTsKYmVnaW4KICAgIGluYyh0b3ApOwogICAgc1t0b3BdOj14OwplbmQ7CmZ1bmN0aW9uIGdldDppbnRlZ2VyOwpiZWdpbgogICAgZXhpdChzW3RvcF0pOwplbmQ7CnByb2NlZHVyZSBwb3A7CmJlZ2luCiAgICBkZWModG9wKTsKZW5kOwpwcm9jZWR1cmUgeHVseTsKYmVnaW4KICAgIGZvciBpOj0xIHRvIG0gZG8KICAgICBiZWdpbgogICAgICAgIGZvciBqOj0xIHRvIG4gZG8KICAgICAgICAgICBpZiBhW2ksal09MSB0aGVuCiAgICAgICAgICAgICAgICBiZWdpbgogICAgICAgICAgICAgICAgICAgIGhbal06PWhbal0rMTsKICAgICAgICAgICAgICAgIGVuZCBlbHNlIGhbal06PTA7CiAgICAgICAgdG9wOj0wOwogICAgICAgIGZvciBqOj0xIHRvIG4gZG8KICAgICAgICAgICAgYmVnaW4KICAgICAgICAgICAgICAgIHdoaWxlICh0b3A8PjApIGFuZCAoaFtqXTw9aFtnZXRdKSBkbyBwb3A7CiAgICAgICAgICAgICAgICBpZiB0b3A9MCB0aGVuIGxlZnRbal06PTAgZWxzZSBsZWZ0W2pdOj1nZXQ7CiAgICAgICAgICAgICAgICBwdXNoKGopOwogICAgICAgICAgICBlbmQ7CiAgICAgICAgdG9wOj0wOwogICAgICAgIGZvciBqOj1uIGRvd250byAxIGRvCiAgICAgICAgICAgICAgICBiZWdpbgogICAgICAgICAgICAgICAgICAgIHdoaWxlICh0b3A8PjApIGFuZCAoaFtqXTw9aFtnZXRdKSBkbyBwb3A7CiAgICAgICAgICAgICAgICAgICAgaWYgdG9wPTAgdGhlbiByaWdodFtqXTo9bisxIGVsc2UgcmlnaHRbal06PWdldDsKICAgICAgICAgICAgICAgICAgICBwdXNoKGopOwogICAgICAgICAgICAgICAgZW5kOwogICAgICAgIGZvciBqOj0xIHRvIG4gZG8KICAgICAgICAgICAgICAgIGJlZ2luCiAgICAgICAgICAgICAgICAgICAgcmVzOj1tYXgocmVzLGhbal0qKHJpZ2h0W2pdLWxlZnRbal0tMSkpOwogICAgICAgICAgICAgICAgZW5kOwogICAgIGVuZDsKZW5kOwpwcm9jZWR1cmUgaW5rcTsKYmVnaW4KICAgIGFzc2lnbihvdXRwdXQsZm8pO3Jld3JpdGUob3V0cHV0KTsKICAgIHdyaXRlbG4ocmVzKTsKICAgIGNsb3NlKG91dHB1dCk7CmVuZDsKYmVnaW4KICAgIG5oYXA7CiAgICB4dWx5OwogICAgaW5rcTsKZW5kLg==