atcoder#ARC140F. [ARC140F] ABS Permutation (Count ver.)

[ARC140F] ABS Permutation (Count ver.)

配点 : 900900

問題文

(1,2,,N)(1,2,\dots,N) の順列 P=(P1,P2,,PN)P=(P_1,P_2,\dots,P_N) のうち、以下を満たすものの個数を 998244353998244353 で割ったあまりを各 K=0,1,2,,N1K=0,1,2,\dots,N-1 に対して求めてください。

  • 1iN11 \le i \le N-1 を満たす整数 ii のうち、PiPi+1=M|P_i - P_{i+1}|=M を満たすものがちょうど KK 個ある。

制約

  • 2N2500002 \le N \le 250000
  • 1MN11 \le M \le N-1
  • 入力は全て整数である。

入力

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

NN MM

出力

K=0,1,2,,N1K=0,1,2,\dots,N-1 に対して、条件を満たす順列の個数を 998244353998244353 で割ったあまりを出力せよ。

3 1
0 4 2
  • K=0K=0 の時は条件を満たす順列 PP は存在しません。
  • K=1K=1 の時は条件を満たす順列 PP(1,3,2),(2,1,3),(2,3,1),(3,1,2)(1,3,2),(2,1,3),(2,3,1),(3,1,2)44 個あります。
  • K=2K=2 の時は条件を満たす順列 PP(1,2,3),(3,2,1)(1,2,3),(3,2,1)22 個あります。
4 3
12 12 0 0
10 5
1263360 1401600 710400 211200 38400 3840 0 0 0 0