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
height, width = gets.split.map &:to_i

c = []
(0...height).each do |i|
  c[i] = gets.split.map &:to_i
end

h = Array.new(height).map { Array.new(width) }

(0...height).each do |i|
  (0...width).each do |j|
    if c[i][j] == 1
      h[i][j] = 0
    else
      h[i][j] = i > 0 ? h[i-1][j] + 1 : 1
    end
  end
end

stack = []
max = 0

class Rect
  attr_accessor :h, :pos

  def initialize(h, pos)
    @h, @pos = h, pos
  end
end

(0...height).each do |i|
  (0...width).each do |j|
    if stack.empty?
      stack.push Rect.new(h[i][j], j)
    else
      if stack[-1].h < h[i][j]
        stack.push Rect.new(h[i][j], j)
      elsif stack[-1].h > h[i][j]
        pos = j
        while !stack.empty? && stack[-1].h >= h[i][j]
          r = stack.pop
          area = r.h * (j - r.pos)
          max = max > area ? max : area
          pos = r.pos
        end
        stack.push Rect.new(h[i][j], pos)
      end
    end
  end
end

puts max