俗话说的好,人走运了挡都挡不住,这不,刚从大连回来的Champion_Q就遇到了这样的好事,在它面前有一个大小为n*m的矩阵,
每个格子里面都有一定数量的钱或者一定数量的狗,这时候Champion_Q面临着一个严峻的问题,
他处于格子的最左上方格子,他要到他的位于最右下角格子的小胖师兄那去,虽然他只能往下走或者往右走,
但是他的队友csy赋予了他一个无与伦比的特异功能,他可以向右跳到列数为当前所在格子列数的任意倍,
当然不能停在原地不动,当他每次走到有钱的格子时可以得到格子对应的钱,但是当他每次走到有狗的格子时,
每一只狗都会让他损失2块钱,现在Champion_Q想要知道他怎样才能走才能捡到最多的钱然后和他的小胖师兄开心的搓一顿呢。
注意哦,Champion_Q身上的钱可以为负值哦
多组测试数据
每组测试数据的第一行是两个整数n,m,分别表示行数和列数(1<=n<=20,10<=m<=100);
接着是n行数据,每行包含m个整数,表示n行m列的格子对应的钱或者狗的数量(为了方便表示,有狗的格子的数字均为负数,绝对值即为狗的数量,狗的数量和钱的数量均不超过100)
请对应每组测试数据输出一个整数,表示Champion_Q可以捡到的最多钱的值
2 6 9 10 10 10 10 -10 10 -11 -1 0 2 11
62