AT_awtf2026algo_c Count by Descents
Description
長さ $ N $ の数列 $ x=(x_1,x_2,\ldots,x_N) $ の**スコア**を $ \prod_{1 \leq i \leq N} (i+x_i) $ と定義します.
長さ $ N $ の狭義単調増加非負整数列 $ A=(A_1,A_2,\ldots,A_N) $ が与えられます.
各 $ d=0,1,\ldots,N-1 $ に対して以下の問題を解いてください.
- $ A $ の要素を並び替えて得られる数列 $ x $ であって, $ x_i>x_{i+1} $ となる $ i $ がちょうど $ d $ 個あるようなものを考える.このような数列すべてに対するスコアの総和を $ 998244353 $ で割った余りを求めよ.
Input Format
入力は以下の形式で標準入力から与えられる.
> $ N $ $ A_1 $ $ A_2 $ $ \ldots $ $ A_N $
Output Format
各 $ d=0,1,\ldots,N-1 $ に対する答えをこの順に出力せよ.
Explanation/Hint
### Sample Explanation 1
各 $ d $ に対応する順列とそのスコアを以下に示します.
- $ d=0 $ :
- $ x=(0,1) $ : スコアは $ (1+0) \times (2+1)=3 $
- $ d=1 $ :
- $ x=(1,0) $ : スコアは $ (1+1) \times (2+0)=4 $
### Sample Explanation 2
各 $ d $ に対応する順列とそのスコアを以下に示します.
- $ d=0 $ :
- $ x=(0,1,2) $ : スコアは $ (1+0) \times (2+1) \times (3+2)=15 $
- $ d=1 $ :
- $ x=(0,2,1) $ : スコアは $ (1+0) \times (2+2) \times (3+1)=16 $
- $ x=(1,0,2) $ : スコアは $ (1+1) \times (2+0) \times (3+2)=20 $
- $ x=(1,2,0) $ : スコアは $ (1+1) \times (2+2) \times (3+0)=24 $
- $ x=(2,0,1) $ : スコアは $ (1+2) \times (2+0) \times (3+1)=24 $
- $ d=2 $ :
- $ x=(2,1,0) $ : スコアは $ (1+2) \times (2+1) \times (3+0)=27 $
### Constraints
- $ 2 \leq N \leq 80 $
- $ 0 \leq A_1 < A_2 < \cdots < A_N < 998244353 $
- 入力はすべて整数