One is good, but two is better

Time Limit: 1 Second    Memory Limit: 32768 KB

Given the N by M matrix with elements equal either 0, 1 or 2, There is at least one element equal to 2. Your program must find such two (perhaps overlapping or even identical) rectangles, that they would contain all the 2s which are in matrix, but none of the 1s. If several solutions exist, the program must find a solution with minimal area of joined rectangles. For example, in the matrix

1 2 1 0
2 0 2 2
1 2 1 0

these rectangles are (1,2) - (3,2) and (2,1) - (2,4), with the combined area of 6.

Constraints

1 <= N, M <= 50

Input

Input contains integers N and M followed by N * M matrix elements.

Output

Output must contain a single integer - the minimal area, or -1 if no solution exists.


This problem contains multiple test cases!

The first line of a multiple input is an integer N, then a blank line followed by N input blocks. Each input block is in the format indicated in the problem description. There is a blank line between input blocks.

The output format consists of N output blocks. There is a blank line between output blocks.

Sample Input

1
 
3 4
1 2 1 0
2 0 2 2
1 2 1 0

Sample Output

6
Submit

Source: Northeastern Europe 2003, Far-Eastern Subregion