Problem G: 收集豌豆

Problem G: 收集豌豆

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 107  Solved: 19
[Submit] [Status] [Web Board] [Creator:]

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。

Sample Input Copy

3 3 1
123
456
789

Sample Output Copy

16