#Lutece1333. 柱爷抢银行

柱爷抢银行

Migrated from Lutece 1333 柱爷抢银行

All parts of this problem, including description, images, samples, data and checker, might be broken. If you find bugs in this problem, please contact the admins.

Description

某日,柱爷来到了喵哈哈城,准备干一票银行!

有道是知己知彼,百战不殆,早在前几日,柱爷就委托了卿学姐调查了喵哈哈城的银行资金分布情况!

而昨夜柱爷夜观天象,知晓今日是动手的绝佳时刻!

喵哈哈城是一个大的矩形方阵,而这方阵是由NMN*M个矩形方格组成,方阵中的每个格子都有一家银行,这个银行的资金是aija_{ij}.

而管理喵哈哈城治安的人是潘警察!,此人智谋不在柱爷之下,20年前喵哈哈村的天行廖大师就因为抢劫银行被潘警察逮捕了,至今仍在天牢之中!

然而柱爷对此次行动早已有万全之策,更何况柱爷在暗,潘警察在明!

因为潘警察的缘由,柱爷的抢劫行动只能选取喵哈哈城的一个连通块,这个连通块必须满足下列条件

  • 连通块非空

  • 这个连通块是连通的,也就是说柱爷从任意一个选中的格子出发总能到达任意一个其他被选中的格子(只能走连通块中的格子)

  • 选择的连通块每一行必须是连续的或者是空集,换句话说每行如果要选的话就有且只能选连续的一段

因为卿学姐实力不足的原因!其前几日在喵哈哈城的探查行动还是被潘警察察觉到了一点风声,因此潘警察在喵哈哈城的某些方格被设下了陷阱,如果柱爷选择了陷阱格子,那么柱爷将会损失掉相当于abs(aij)abs(a_{ij})的现金!

Input

第一行两个整数NN,MM,分别表示喵哈哈城的行长度和列长度

接下来NN行,每行MM个整数,aija_{ij}表示第ii行第jj列格子的银行资金,aij<0a_{ij}<0表示柱爷如果选择该格子将会损失abs(aij)abs(a_{ij})的现金,否则将会获得abs(aij)abs(a_{ij})的现金。

数据保证:

  • 1NM10001 \leq N,M \leq 1000

  • aij109|a_{ij}| \leq 10^{9}

Output

输出仅一行,表示柱爷最多能抢到的钱

Samples

3 4
5 -3 0 0
-2 3 3 4
-7 -6 4 -5
17
4 4
1 1 1 1
1 1 1 1
1 -1 1 1
1 1 1 1
14
2 2
-1 -1
-1 -1
-1

Note

请注意柱爷不是临阵退缩的人,既然来了,就至少要选择一个格子!(尽管可能会亏钱)

Resources

2016 UESTC Training for Dynamic Programming