97 atcoder#ABC145D. [ABC145D] Knight

[ABC145D] 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+7 10^9+7 で割った余りを求めてください。

输入格式

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

X X Y Y

输出格式

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

题目大意

一个二维矩阵的原点(0,0)有一个骑士棋子。

当骑士位于这个矩阵的(i,j)时,可以将其移动到(i+1,j+2)或(i+2,j+1)处。

骑士可以通过几种方式达到位置(x,y)?

输出答案对1000000007取模

3 3
2
2 2
0
999999 999999
151840682

提示

制約

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

Sample Explanation 1

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

Sample Explanation 2

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

Sample Explanation 3

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