Problem:
Largest Rectangle

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

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.

Constraints

1 ≤ H, W ≤ 1,400

Sample Input

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

Sample Output

6

Solution in Ruby (judge verdict: Wrong Answer)

H,W = gets.split().map(&:to_i)
a = []

H.times do |i|
	if i == 0
		a[i] = gets.split().map{|c| c == "0" ? 1 : 0}
	else
		a[i] = gets.split().map.with_index do |c, j|
			c == "0" ? a[i-1][j]+1 : 0
		end
	end
	a[i] << 0
end

r = 0

H.times do |i|
	s = [[0,0]]
	(W+1).times do |j|
		c = a[i][j]
		if c > s[-1][0]
			s << [c,j]
		else
			while c < s[-1][0] do
				h, sj = s.pop
				q = h * (j-sj)
				r = q if q > r
			end
		end
	end
end
p r