Description
在棋盘最下面一排的某个正方形上有一个棋子。它只有两种移动方式:向上向左或向上向右。棋子可以从最下面一排的任一个正方形开始它的旅程。
每个正方形上有0到9粒豌豆,棋子想尽可能多的豌豆收到最上面一排。因为在那里它必须把豌豆分成它自己和它的k个兄弟,豌豆的数目必须可以被k+1整除。找出它能收集的豌豆的最大数量,以及它应该采取的行动。
棋子不能扔掉豌豆,也不能离开棋盘。当棋子出现在棋盘的某个方格(包括第一个和最后一个方格)时,它必然会拿走所有的豌豆。
Input
第一行包含三个整数n,m,k(2<=n,m<=100, 0<=k<=10)表示棋盘上的行数和列数,棋子的兄弟数。
然后接下来输入n行,每行m个数字,数字在0到9之间,中间没有空格。数字代表棋盘上的豌豆数。
第一行对应最上面一行,最后一行对应最下面一行。
Output
一行包含一个数字,表示豌豆的最大数量,必须能被k+1整除。
如果不可能达到收集了可被k+1整除的豌豆数,打印-1。