051 - Combination Hard Editorial /

Time Limit: 1 sec / Memory Limit: 1024 MB

配点 : 1000

問題文

無限に大きいマス目があり、各マスは 2 つの整数を用いてマス (a, b) という形で表されます。すべてのマス (a, b) に対して、右隣のマスは (a+1, b) であり、真上のマスは (a, b+1) です。

マス (0, 0) から出発し、上か右に隣り合うマスへの移動を繰り返すことでマス (X, Y) にたどり着く方法は何通りありますか。答えを 1000000007(素数)で割った余りを求めてください。

制約

  • 1 \le X,Y \le 10^5
  • 入力はすべて整数

入力

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

X Y

出力

答えを出力してください。


入力例 1

1 2

出力例 1

3

(0,0) から (1,2) にたどり着く方法は、以下の 3 通りです。

  • (0,0) \rightarrow (0,1) \rightarrow (0,2) \rightarrow (1,2)
  • (0,0) \rightarrow (0,1) \rightarrow (1,1) \rightarrow (1,2)
  • (0,0) \rightarrow (1,0) \rightarrow (1,1) \rightarrow (1,2)

入力例 2

869 120

出力例 2

445891023

1000000007 (=10^9+7) で割った余りを求めることに注意してください。