#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)

计算骑士到达 (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)

示例输入 2

2 2

示例输出 2

0

骑士无法到达 (2,2)(2,2)

示例输入 3

999999 999999

示例输出 3

151840682

打印骑士到达 (X,Y)(X, Y) 方格的方式数,对 109+710^9 + 7 取模。