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
h,w=map(int,input().split())
C=[list(map(int,input().split())) for _ in range(h)]
DP=[[0 for _ in range(w)] for _ in range(h)]

for i in range(w):
    if C[0][i]==0:DP[0][i]=1
    else:DP[0][i]=0

for i in range(1,h):
    for j in range(w):
        if C[i][j]==0:DP[i][j]=DP[i-1][j]+1
        else:DP[i][j]=0

cost=0
for i in range(h):
    stack=[]
    for j in range(w):
        if len(stack)==0:
            stack.append((DP[i][j],j))
        elif DP[i][j]>stack[-1][0]:
            stack.append((DP[i][j],j))
        elif DP[i][j]<stack[-1][0]:
            add=0
            while DP[i][j]<stack[-1][0]:
                rect,pos=stack.pop()
                cost=max(cost,(j-pos)*rect)
                add=pos
                if len(stack)==0:break
            stack.append((DP[i][j],add))

    if len(stack)!=0:
        while len(stack)!=0:
            rect,pos=stack.pop()
            cost=max(cost,(w-pos)*rect)

print(cost)
