#abc037d. [abc037_d]経路

[abc037_d]経路

問題文

H\*WH \* W のマス目があり、それぞれのマスには整数が書かれています。 iijj 列に書かれている数は aija_{ij} です。

あなたはこのグリッドの中の好きなマスから好きなだけ動きます(最初のマスから動かなくてもかまいません)。 今いるマスの上下左右に隣接しているマスのうち、今いるマスより大きな整数が書かれたマスに移動することができます。

ありうる移動経路の個数を109+710^9+7で割った余りを求めてください。


制約

  • 1leqH,Wleq1,0001 \\leq H, W \\leq 1,000
  • 1leqaijleq1091 \\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

例えば、1122 列から出発し、右、下と移動する経路や、 1111 列から出発し、下に移動する経路などがあります。

全部で 1818 種類の経路があります。


入力例 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