You found a grid with rows and columns, and each cell of the grid has some positive integer value . You are allowed to keep some subset of the cells of the grid as follows:
- First, you must make some number of horizontal or vertical cuts along the grid lines. This cuts the grid into several rectangular regions that form a grid pattern. You must make at least one cut, but it is allowed to make only horizontal or only vertical cuts.
- Next, you colour this new grid with two colours in a checkerboard pattern, where any two adjacent rectangular regions have a different colour.
- Finally, you are allowed to keep all the grid cells that have the same colour.
You want to maximize the total value of all the cells you keep. Calculate this maximum possible sum.
Constraints
For all test cases, at least one of or is greater than and for all grid cells.
Subtask 1 [10%]
Subtask 2 [10%]
Subtask 3 [30%]
Subtask 4 [25%]
Subtask 5 [25%]
Input Specification
The first line of input contains two space-separated integers: and . The next lines of input contain space-separated integers, describing a row of the grid. The th number on the th of these lines is the value .
Output Specification
Output one number: the maximum possible total value of all cells you keep.
Sample Input 1
1 4
6 2 9 8
Sample Output 1
23
Explanation for Sample Output 1
By making two vertical cuts, it is possible to keep all values except for the .
Sample Input 2
3 4
9 1 7 8
2 8 1 1
7 3 5 6
Sample Output 2
50
Explanation for Sample Output 2
Make two horizontal cuts and two vertical cuts as shown below:
You can keep all the values in black cells, giving a total value of .
Comments