#arc118f. [arc118_f]Growth Rate

[arc118_f]Growth Rate

問題文

正の整数 MM と、NN 項からなる整数列 A=(A1,A2,ldots,AN)A = (A_1,A_2,\\ldots,A_N) が与えられます。N+1N+1 項からなる整数列 X=(X1,X2,ldots,XN+1)X = (X_1,X_2, \\ldots, X_{N+1}) であって、次の条件をすべて満たすものの個数を bmod998244353\\bmod 998244353 で求めてください。

  • 1leqXileqM1\\leq X_i\\leq M (1leqileqN+11\\leq i\\leq N+1)
  • AiXileqXi+1A_iX_i\\leq X_{i+1} (1leqileqN1\\leq i\\leq N)

制約

  • 1leqNleq10001\\leq N\\leq 1000
  • 1leqMleq10181\\leq M\\leq 10^{18}
  • 1leqAileq1091\\leq A_i\\leq 10^9
  • prodi=1NAileqM\\prod_{i=1}^N A_i \\leq M

入力

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

NN MM A1A_1 A2A_2 ldots\\ldots ANA_N

出力

条件を満たす整数列の個数を bmod998244353\\bmod 998244353 で出力してください。


入力例 1

2 10
2 3

出力例 1

7

条件を満たす整数列 XX は、以下の 77 個です:

  • (1,2,6)(1, 2, 6), (1,2,7)(1,2,7), (1,2,8)(1,2,8), (1,2,9)(1,2,9), (1,2,10)(1,2,10), (1,3,9)(1,3,9), (1,3,10)(1,3,10)

入力例 2

2 10
3 2

出力例 2

9

条件を満たす整数列 XX は、以下の 99 個です:

  • (1,3,6)(1, 3, 6), (1,3,7)(1, 3, 7), (1,3,8)(1, 3, 8), (1,3,9)(1, 3, 9), (1,3,10)(1, 3, 10), (1,4,8)(1, 4, 8), (1,4,9)(1, 4, 9), (1,4,10)(1, 4, 10), (1,5,10)(1, 5, 10)

入力例 3

7 1000
1 2 3 4 3 2 1

出力例 3

225650129

入力例 4

5 1000000000000000000
1 1 1 1 1

出力例 4

307835847