Contests | Virtual Contests | Problems | Submit | Runs Status | Rank List | Forum |

Time Limit: 5.0 Seconds Memory Limit: 65536K

Total Runs: 335 Accepted Runs: 191

Given an *N* * *M* matrix with each entry equal to 0 or 1. We can find some rectangles in the matrix whose entries are all 1, and we define the maximum area of such rectangle as this matrix's goodness. ### Input

There are several test cases in the input. The first line of each test case contains two integers *N* and *M* (1 ≤ *N,M* ≤ 1000). Then *N* lines follow, each contains *M* numbers (0 or 1), indicating the *N* * *M* matrix### Output

Output one line for each test case, indicating the maximum possible goodness.### Sample Input

### Sample Output

We can swap **any two columns** any times, and we are to make the goodness of the matrix as large as possible.

3 4 1011 1001 0001 3 4 1010 1001 0001

4 2

**Note:** Huge Input, scanf() is recommended.

**Author:** HE, Liang

Maintance:G.D.Retop. Developer: SuperHacker, G.D.Retop