有一个王国,老国王想要将他的土地分成两块,并分给他的两个后代。国王的土地是一个 $r$ 行 $c$ 列的网格。网格中的每个单元格都有一个整数值,代表该单元格的繁荣度,可以是 0(荒芜)、1(普通)或 2(肥沃)。如果两个单元格水平或垂直相邻,则它们是连通的。
Photo by Magda Wojtyra
每位后代都将获得一块单一的连通土地,且至少包含一个单元格,其中所有单元格必须通过其他单元格直接或间接连通。不能有剩余的单元格,这意味着每个单元格都必须分配给其中一位后代。一块土地的繁荣度是其所有单元格繁荣值的乘积。国王希望两位后代所分得土地的繁荣度之差的绝对值尽可能小。他请求他最好的顾问设计一个土地分配方案。
输入格式
输入的第一行包含两个正整数 $r$ 和 $c$ ($2 \le r \times c \le 64$)。接下来的 $r$ 行,每行包含 $c$ 个整数,给出了国王土地的繁荣值。所有这些整数均为 0、1 或 2。
输出格式
输出两位后代所分得土地的繁荣度之差的绝对值的最小值。
样例
输入格式 1
3 4 1 2 1 1 2 2 1 2 1 2 2 2
输出格式 1
8
输入格式 2
2 3 0 1 2 0 1 2
输出格式 2
0
输入格式 3
1 3 2 0 2
输出格式 3
2