Given a matrix (H × W) which contains only 1 and 0, find the area of the largest rectangle which only contains 0s.

Constraints

* 1 ≤ H, W ≤ 1,400

Input


H W
c1,1 c1,2 ... c1,W
c2,1 c2,2 ... c2,W
:
cH,1 cH,2 ... cH,W


In the first line, two integers H and W separated by a space character are given. In the following H lines, ci,j, elements of the H × W matrix, are given.

Output

Print the area (the number of 0s) of the largest rectangle.

Example

Input

4 5
0 0 1 0 0
1 0 0 0 0
0 0 0 1 0
0 0 0 1 0


Output

6
#include <bits/stdc++.h>
#define mo 1510
using namespace std;
int d[mo],a[mo][mo],l[mo],h[mo];
int main()
{
    int n,m;
    while(cin>>n>>m)
    {
        for(int i=1;i<=n;i++)
            for(int j=1;j<=m;j++)
            cin>>a[i][j];

        int maxs=0;
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=m;j++)
                if(!a[i][j]) d[j]++;
                else d[j]=0;


            for(int j=1;j<=m;j++)
            {
                l[j]=j;
                while(l[j]>1&&d[j]<=d[l[j]-1])
                    l[j]=l[l[j]-1];
            }

            for(int j=m;j>0;j--)
            {
                h[j]=j;
                while(h[j]<m&&d[j]<=d[h[j]+1])
                    h[j]=h[h[j]+1];
            }
            for(int j=1;j<=m;j++)
            maxs=max(maxs,d[j]*(h[j]-l[j]+1));

        }
        cout<<maxs<<endl;
    }

}

