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