F - Products of Low Elements Editorial /

Time Limit: 8 sec / Memory Limit: 1024 MiB

配点 : 1300

問題文

整数 N,A,B,C が与えられます。 (1,2,\ldots,N) の順列 p=(p_1,p_2,\ldots,p_N) のスコアを、以下のように定義します。

  • \min(p_1,p_2,\ldots,p_i)=p_i を満たす i をすべて並べた列を (i_1,i_2,\ldots,i_k) とする。 このとき、p のスコアを \prod_{1 \leq j \leq k} (A \times i_j+B \times p_{i_j} + C) とする。

(1,2,\ldots,N) の順列 p すべてに対するスコアの総和を 998244353 で割ったあまりを求めてください。

制約

  • 1 \leq N \leq 250000
  • 0 \leq A,B,C < 998244353
  • 入力はすべて整数

入力

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

N A B C

出力

答えを出力せよ。


入力例 1

2 1 1 1

出力例 1

19

すべての順列 p とそれに対するスコアは以下のとおりです。

  • p=(1,2): 条件を満たす i(1) であり、スコアは (A \times 1 + B \times p_1 + C)=3 となる。
  • p=(2,1): 条件を満たす i(1,2) であり、スコアは (A \times 1 + B \times p_1 + C) \times (A \times 2 + B \times p_2 + C)=4 \times 4 = 16 となる。

よって、すべての順列に対するスコアの総和は 19 になります。


入力例 2

3 0 0 1

出力例 2

6

入力例 3

8 4 2 1

出力例 3

917435224

入力例 4

100000 200000 300000 400000

出力例 4

247303361