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=[[0 for _ in range(w)]]
DP = [[0 for _ in range(w+1)] for __ in range(h+1)]
for _ in range(h):
    c_tmp = list(map(int, input().split( )))
    c.append(c_tmp)


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

#for i in range(1,h+1):
#    print(*DP[i])
S = []
ans = []
Tst =  [[0 for _ in range(w)] for __ in range(h+1)]
for j in range(1,h+1):
    #S = []
    for i in range(w+1):
        if len(S) > 0:
            if S[-1][0] <= DP[j][i]:
                S.append([DP[j][i],1])
            
            else:#if S[-1] > DP[j][i]:
                tmp = 0
                while len(S) > 0 and S[-1][0] > DP[j][i]:
                    pp = S.pop()
                    tmp += pp[1]
                    ans.append(pp[0]*tmp)
                    Tst[j][i-1] = pp[0]*tmp
                S.append([DP[j][i],tmp+1])
                
        else:
            S.append([DP[j][i],1])
#print()
#for i in range(1,h+1):
#    print(*Tst[i])
#print()
try:
    print(max(ans))
except:
    print(0)



