#arc117e. [arc117_e]Zero-Sum Ranges 2

[arc117_e]Zero-Sum Ranges 2

問題文

以下の条件をともに満たす長さ 2N2N の数列 A=(A1,A2,dots,A2N)A = (A_1, A_2, \\dots, A_{2N}) は、何種類あるでしょうか?

  • 数列 AA は、NN 個の +1+1NN 個の \-1\-1 で構成される。
  • Al+Al+1+cdots+Ar=0A_l + A_{l+1} + \\cdots + A_r = 0 となる l,rl, r の組み合わせ (1leqlleqrleq2N)(1 \\leq l \\leq r \\leq 2N) はちょうど KK 個ある。

制約

  • 1leqNleq301 \\leq N \\leq 30
  • 1leqKleqN21 \\leq K \\leq N^2
  • 入力はすべて整数

入力

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

NN KK

出力

問題文中の条件を満たす数列が何種類あるかを出力してください。
ただし、答えは必ず 6464 ビット符号付き整数型の範囲に収まります。


入力例 1

1 1

出力例 1

2

N=1,K=1N = 1, K = 1 のとき、条件を満たす数列は次の 22 種類です。

  • A=(+1,1)A = (+1, -1)
  • A=(1,+1)A = (-1, +1)

入力例 2

2 3

出力例 2

2

N=2,K=3N = 2, K = 3 のとき、条件を満たす数列は次の 22 種類です。

  • A=(+1,1,1,+1)A = (+1, -1, -1, +1)
  • A=(1,+1,+1,1)A = (-1, +1, +1, -1)

入力例 3

3 7

出力例 3

6

N=3,K=7N = 3, K = 7 のとき、条件を満たす数列は次の 66 種類です。

  • A=(+1,1,+1,1,1,+1)A = (+1, -1, +1, -1, -1, +1)
  • A=(+1,1,1,+1,+1,1)A = (+1, -1, -1, +1, +1, -1)
  • A=(+1,1,1,+1,1,+1)A = (+1, -1, -1, +1, -1, +1)
  • A=(1,+1,+1,1,+1,1)A = (-1, +1, +1, -1, +1, -1)
  • A=(1,+1,+1,1,1,+1)A = (-1, +1, +1, -1, -1, +1)
  • A=(1,+1,1,+1,+1,1)A = (-1, +1, -1, +1, +1, -1)

入力例 4

8 24

出力例 4

568

N=8,K=24N = 8, K = 24 のとき、条件を満たす数列は 568568 種類あります。


入力例 5

30 230

出力例 5

761128315856702

N=30,K=230N = 30, K = 230 のとき、条件を満たす数列は 761128315856702761128315856702 種類あります。


入力例 6

25 455

出力例 6

0

N=25,K=455N = 25, K = 455 のとき、条件を満たす数列はありません。