N bonacci Sequence

2 secs 1024 MB
OxOmiso's icon OxOmiso

問題文

22 以上の正の整数 NN11 以上の正の整数 MM が与えられます。
以下のように定義される NNボナッチ数列 SS の第 MM 項である SMS_{M}998244353998244353 で割った余りを求めてください。

Si(i1)={1(iN)SiN+SiN+1++Si2+Si1(i>N)S_{i} (i \ge 1)= \begin{cases} 1 & (i \le N) \\ S_{{i-N}} + S_{{i-N+1}} + \dots + S_{{i-2}} + S_{{i-1}} & (i > N) \end{cases}

制約

2N1022 \le N \le 10^2
1M10181 \le M \le 10^{18}

入力

N    MN \;\; M

出力

SMS_{M}998244353998244353 で割った余りを一行に出力してください。

入力例 11

2 5

出力例 11

5

入力例 22

4 10

出力例 22

94

入力例 33

5 2

出力例 33

1

入力例 44

100 1000000000000000000

出力例 44

255580063

11 つ目の例は,N=2,M=5N = 2 , M = 5 です。 S=1,1,2,3,5,S = 1,1,2,3,5, \dots より,55 を出力すればよいです。
22 つ目の例は,N=4,M=10N = 4,M = 10 です。 S=1,1,1,1,4,7,13,25,49,94,S = 1,1,1,1,4,7,13,25,49,94, \dots より,9494 を出力すればよいです。
33 つ目の例は,N=5,M=2N = 5,M = 2 です。 S=1,1,1,1,1,5,9,S = 1,1,1,1,1,5,9, \dots より,11 を出力すればよいです。

提出


Go (1.21)