编程题
### 问题描述
西洋棋盘可以看成一个 $ N \times M $ 的网格。西洋棋可以摆放在任何一个格子里,而不是网格线的交叉点上。
将一个棋子放在了左上角的格子上。她试着移动这个棋子,棋子只会向右或者向下移动。 每个格子有一个权值,晓宇想知道,从左上角到右下角的所有路径中:
1. 经过的格子的权值和最大是多少?
2. 权值和最大的路径一共有多少条?
### 输入格式
第一行两个整数 $N$ , $M$ 。
接下来 $N$ 行,每行 $M$ 个整数,表示每个格子的权值。
### 输出格式
输出两行,第一行表示最大权值和,第二行表示权值和最大的路径数除以 $1000000007$ 的余数。
##### 输入样例
```
3 3
1 1 1
1 2 1
1 1 1
```
### 输出样例
```
6
4
```
### 数据范围
对于 $30$% 的数据,满足 $N \le 5, M \le 5$ 。
对于 $60$% 的数据,满足 $N \le 100, M \le 100$ 。
对于再 $20$% 的数据,满足每个格子权值为 $1$ 。
对于 $100$% 的数据,满足 $N \le 2000, M \le 2000,|权值| \le 10^9$ 。