#arc046d. [arc046_d]うさぎとマス目

[arc046_d]うさぎとマス目

問題文

HH 行、WW 列のマス目があります。第 ii (0iH10≦i≦H-1) 行、第 jj (0jW10≦j≦W-1) 列のマスを (i,j)(i,\\ j) と表します。

最初、マス (0,0)(0,\\ 0) にうさぎがいます。うさぎは以下の操作を繰り返します。

  • 今いるマスに色が塗られていれば、操作を終了する。
  • 今いるマスに色が塗られていなければ、今いるマスに色を塗り、今いるマス (i,j)(i,\\ j) から ((i+1)rmmodH,j)((i+1)\\ {\\rm mod}\\ H,\\ j) または (i,(j+1)rmmodW)(i,\\ (j+1)\\ {\\rm mod}\\ W) へ移動する。

うさぎがすべてのマスに色を塗った後、マス (0,0)(0,\\ 0) で操作を終了するような方法は何通りでしょうか? 109+710^9+7 で割った余りを求めてください。

ただし、うさぎの辿った経路が異なるとき、またそのときのみ、22 つの方法は異なるものとします。


入力

入力は以下の形式で標準入力から与えられる。

HH WW

  • 11 行目には、マス目の行数 HH (2H1062≦H≦10^6) と列数 WW (2W1062≦W≦10^6) が空白区切りで与えられる。

出力

答えを 109+710^9+7 で割った余りを出力せよ。出力の末尾には改行を入れること。


入力例1


2 2

出力例1


2

図の 22 通りです。


入力例2


6 3

出力例2


3

入力例3


3 4

出力例3


0

入力例4


10 10

出力例4


260

入力例5


200 300

出力例5


551887980

答えを 109+710^9+7 で割った余りを出力してください。