#include <bits/stdc++.h>
using namespace std;
ifstream fin("bmatrix.in");
ofstream fout("bmatrix.out");
char a[205];
int b[205][205], sum[205][205], t[205], point;
///numarul maxim de 0 uri
int Sum(int t[], int n)
{
int smax,s=0,i, j = 1;
smax=t[1];
for(i=1; i<=n; i++)
{
s += t[i];
if(s > smax)
{
smax = s;
point = i - j;
}
if(s<0)
{
j = i;
s=0;
}
}
return smax;
}
int main()
{
int n, m, i, j, p, q, smax = 0, dim, dim2, smax2 = 0;
fin >> n >> m;
for(i = 1; i <= n; i++)
{
fin >> a;
for(j = 0; a[j]; j++)
if(a[j] - '0' == 0) b[i][j + 1] = 1;
else b[i][j + 1] = -1;
//b[i][j + 1] = a[j] - '0';
}
for(i = 1; i <= n; i++)
for(j = 1; j <= m; j++)
sum[i][j] = b[i][j] + sum[i-1][j];
for(p = 1; p <= n; p++)
for(q = p; q <= n; q++)
{
for(i = 1; i <= m; i++)
t[i] = sum[q][i] - sum[p - 1][i];
if(smax < Sum(t, n))
{
smax = Sum(t, n);
dim = point * (q - p - 1);
}
}
for(p = 1; p <= n; p++)
for(q = p; q <= n; q++)
{
for(i = 1; i <= m; i++)
t[i] = sum[q][i] - sum[p - 1][i];
if(smax2 < Sum(t, n) && smax != Sum(t, n))
{
smax2 = Sum(t, n);
dim2 = point * (q - p - 1);
}
}
fout << dim + dim2;
return 0;
}