#abc037d. [abc037_d]経路

[abc037_d]経路

问题文

有一个 H×WH \times W 的网格,每个格子上都写着一个整数。第 ii 行第 jj 列的数为 aija_{ij}

你可以从网格中的任意一个格子开始,朝任意方向移动(可以不移动)。你可以移动到当前格子上下左右相邻的格子,但只能移动到数值比当前格子的整数更大的格子上。

请计算可能的移动路径数量除以 109+710^9+7 后的余数。


约束条件

  • 1H,W1,0001 \leq H, W \leq 1,000
  • 1aij1091 \leq a_{ij} \leq 10^9

输入

输入通过标准输入给出,格式如下:

HH WW

a11a_{11} .. a1Wa_{1W}

:

aH1a_{H1} .. aHWa_{HW}

输出

输出移动路径的数量除以 109+710^9+7 后的余数。


输入例子 1

2 3
1 4 5
2 4 9

输出例子 1

18

例如,可以从第 1 行 2 列出发,向右、向下移动,还可以从第 1 行 1 列出发,向下移动等。

总共有 18 种路径。


输入例子 2

6 6
1 3 4 6 7 5
1 2 4 8 8 7
2 7 9 2 7 2
9 4 2 7 6 5
2 8 4 6 7 6
3 7 9 1 2 7

输出例子 2

170