#abc145d. [abc145_d]Knight

[abc145_d]Knight

問題文

二次元グリッドの原点 (0,0)(0,0) にチェスのナイトの駒があります。

ナイトの駒はマス (i,j)(i,j) にあるとき (i+1,j+2)(i+1,j+2)(i+2,j+1)(i+2, j+1) のどちらかのマスにのみ動かすことができます。

ナイトの駒をマス (X,Y)(X,Y) まで移動させる方法は何通りありますか?

109+710^9+7 で割った余りを求めてください。

制約

  • 1leqXleq1061 \\leq X \\leq 10^6
  • 1leqYleq1061 \\leq Y \\leq 10^6
  • 入力中のすべての値は整数である。

入力

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

XX YY

出力

ナイトの駒を (0,0)(0,0) から (X,Y)(X,Y) まで移動させる方法の数を、109+710^9+7 で割った余りを出力せよ。


入力例 1

3 3

出力例 1

2

(0,0)to(1,2)to(3,3)(0,0) \\to (1,2) \\to (3,3)(0,0)to(2,1)to(3,3)(0,0) \\to (2,1) \\to (3,3)22 通りが考えられます。


入力例 2

2 2

出力例 2

0

(2,2)(2,2) にナイトの駒を移動させることはできません。


入力例 3

999999 999999

出力例 3

151840682

方法の数を 109+710^9+7 で割った余りを出力してください。