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>
using namespace std;
const int inf = 1 << 30;
const long long INF = 1ll << 60;
const double pi = acos(-1);
const double eps = 1e-9;
const long long mod = 1e9 + 7;
const int dx[4] = {0, 1, 0, -1}, dy[4] = {1, 0, -1, 0};
int h, w;
vector<int> b;
int main() {
  cin >> h >> w;
  b = vector<int>(w + 1);
  int res = 0;
  for (int i = 0; i < h; i++) {
    stack<pair<int, int> > st;
    st.push({-1, -1});
    for (int j = 0; j <= w; j++) {
      if (j < w) {
        int x;
        cin >> x;
        if (!x)
          b[j]++;
        else
          b[j] = 0;
      }
      while (st.top().first > b[j]) {
        pair<int, int> p = st.top();
        st.pop();
        res = max(res, (j - p.second) * p.first);
      }
      if (st.top().first != b[j]) st.push({b[j], j});
    }
  }
  cout << res << endl;
}
