AT_arc215_d [ARC215D] cresc.

Description

長さ $ N+1 $ の数列 $ A = (A_1,A_2, \ldots, A_{N + 1}) $ に対して、以下のような方法で長さ $ N $ の数列 $ S = (S_1, S_2, \ldots, S_{N}) $ を得ることを考えます。 - 各 $ i $ ( $ 1 \le i \le N $ ) について、 $ S_i=A_i+A_{i + 1} $ とする。 以下の条件を全て満たす長さ $ N $ の数列 $ S $ の個数を $ 10^9 + 7 $ で割った余りを求めて下さい。 - 広義単調増加である。 - ある $ 0 $ 以上 $ M $ 以下の整数からなる長さ $ N+1 $ の数列 $ A $ であって、 $ A $ から前述の方法で $ S $ を得ることができるものが存在する。

Input Format

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

Output Format

答えを $ 1 $ 行に出力せよ。

Explanation/Hint

### Sample Explanation 1 $ A $ として考えられるのは以下の $ 8 $ 通りです。 - $ A = (0,0,0) $ のとき、 $ S = (0,0) $ - $ A = (0,0,1) $ のとき、 $ S = (0,1) $ - $ A = (0,1,0) $ のとき、 $ S = (1,1) $ - $ A = (0,1,1) $ のとき、 $ S = (1,2) $ - $ A = (1,0,0) $ のとき、 $ S = (1,0) $ - $ A = (1,0,1) $ のとき、 $ S = (1,1) $ - $ A = (1,1,0) $ のとき、 $ S = (2,1) $ - $ A = (1,1,1) $ のとき、 $ S = (2,2) $ このうち広義単調増加な $ S $ は、 $ (0,0),(0,1),(1,1),(1,2),(2,2) $ の $ 5 $ 種類です。 ### Constraints - $ 1 \le N, M \le 10^7 $ - 入力される値は全て整数