#4379. 下棋

下棋

西洋棋盘可以看成一个 NM N*M 的网格。西洋棋可以摆放在任何一个格子里,而不是网格线的交叉点上。 [丛雨]将一个棋子放在了左上角的格子上。她试着移动这个棋子,棋子只会向右或者向下移动。 每个格子有一个权值,丛雨想知道,从左上角到右下角的所有路径中: 1.经过的格子的权值和最大是多少? 2.权值和最大的路径一共有多少条?

输入格式(chess.in)

第一行两个整数 NN , MM 。 接下来 NN 行,每行 MM 个整数,表示每个格子的权值。

输出格式(chess.out)

输出两行,第一行表示最大权值和,第二行表示权值和最大的路径数除以 10000000071000000007 的余数。

输入样例

3 3
1 1 1
1 2 1
1 1 1

输出样例

6
4

数据范围

对于 30%30\% 的数据,满足 N5,M5N \le 5, M \le 5 。 对于 60%60\% 的数据,满足 N100,M100N \le 100, M \le 100 。 对于再 20%20\% 的数据,满足每个格子权值为 11 。 对于 100%100\% 的数据,满足 N2000M2000,权值109N \le 2000, M \le 2000,|权值| \le 10^9