1099: 夏日弥的考研地城

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:162 Solved:19

Description

"拼搏一百天,我要考上西北带专!"


夏日弥看向考研地城,地城的尽头是高耸的西北带专,这个带专为他准备了一个相当牛叉的地城:


1.这个地城由 $m \times n$ 个单元格组成。

2.这个地城的左上角是夏日弥的起始入口,右下角是终点。

3.每个单元格包含一个非负整数,表示你在该单元格中的花费。你只能向右或向下移动到达终点。

4.地城中还存在一些障碍物(用 $-1$ 表示),你不能经过这些单元格。

5.一个单元格要么是一个非负整数,要么是 $-1$。


聪明的ACMer肯定不愿意看着可怜的夏日弥受苦受难吧!请你们帮助他找出通过考研地城的最少花费,当然,如果他实在通不过考研地城,就输出 $-1$ 吧!这样一来他也可以安心去南门卖手抓饼和烤冷面哩^ ^


给定一个 $m \times n$ 的网格,其中每个单元格包含一个非负整数,表示你在该单元格中的花费。你从左上角的单元格出发,只能向右或向下移动,到达右下角的单元格。网格中还存在一些障碍物(用 $-1$ 表示),你不能经过这些单元格。请计算从左上角到右下角的最小花费路径。如果没有路径可以到达终点,返回 $-1$ 。总花费包含起点和终点的花费,如果起点或终点为 $-1$ 视作不可到达。


结果可能很大,请对 $10^9+7$ 取模

Input

第 $1$ 行输入两个整数 $m,n(1\le m,n\le 1000)$,表示网格的行数与列数。


接下来 $m$ 行每行 $n$ 个整数,其中第 $i$ 行第 $j$ 列单元格的花费为 $g_{i,j}(-1\le g_{i,j}\le10^9)$,值为非负整数表示花费,值为 $-1$​​ 表示障碍物。

Output

输出一个整数,表示从左上角到右下角的最小花费路径的总和。如果没有路径可以到达终点,输出 $-1$​。


结果可能很大,请对 $10^9+7$ 取模。

Sample Input Copy

3 3
1 3 1
1 -1 2
4 2 1

Sample Output Copy

8

HINT

路径为 $1 \rightarrow 3 \rightarrow 1 \rightarrow 2 \rightarrow 1$,最小花费为 $8$。