入力1個数え上げ

2 secs 1024 MB
bachoppi's icon bachoppi

問題文

あなたは、1,2,3,,N1,2,3,\ldots ,Nの数字を各11回ずつ好きな順で計NN回、すなわち順列になるように言うことができます。
最初の持ち点は00点で、KK回目に数字を言うとき、以下のルールに従って得点が加算されます。(KK回目に言う数字をPkP_kと表記します)

  • K=1K=1のときは、得点は加算されない
  • 1<KN1<K\leq Nのとき、max(PkPk1,0)max(P_k-P_{k-1}, 0)点加算される

ルールを満たす数字の言い方はN!N!通りありますが、そのうち最終得点が最大になるようなものは何通りありますか。 998244353998244353で割った余りを求めてください。

制約

  • 2N1062 \leq N \leq 10^6
  • 入力はすべて整数

入力

N

出力

得点が最大になる場合の数を998244353998244353で割った余りを出力してください。

サンプル

入力1
3
出力1
3

最終得点の最大値は22点です。 123,132,2131\rightarrow2\rightarrow3, 1→3→2, 2→1→3\,33通りがこの得点になります。

入力2
4
出力2
4
入力3
1000000
出力3
924863273

提出


Go (1.21)