atcoder#ARC160C. [ARC160C] Power Up

[ARC160C] Power Up

配点 : 500500

問題文

正整数からなる NN 要素の多重集合 A={A1,A2,,AN}A=\lbrace A_1,A_2,\dots,A_N \rbrace が与えられます。

あなたは、以下の操作を好きな回数 ( 00 回でもよい) 繰り返すことが出来ます。

  • AA22 個以上含まれる正整数 xx を選ぶ。AA から xx22 個削除し、AAx+1x+111 個加える。

最終的な AA としてあり得るものの個数を 998244353998244353 で割ったあまりを求めてください。

制約

  • 1N2×1051 \le N \le 2 \times 10^5
  • 1Ai2×1051 \le A_i \le 2 \times 10^5

入力

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

NN

A1A_1 A2A_2 \dots ANA_N

出力

答えを出力せよ。

4
1 1 2 4
3

最終的な AA としてあり得るものは、$\lbrace 1,1,2,4 \rbrace,\lbrace 2,2,4 \rbrace,\lbrace 3,4 \rbrace$ の 33 個があります。

{3,4}\lbrace 3,4 \rbrace は以下のようにして作ることが出来ます。

  • xx として 11 を選ぶ。AA から 1122 個削除し、2211 個加える。A={2,2,4}A=\lbrace 2,2,4 \rbrace となる。
  • xx として 22 を選ぶ。AA から 2222 個削除し、3311 個加える。A={3,4}A=\lbrace 3,4 \rbrace となる。
5
1 2 3 4 5
1
13
3 1 4 1 5 9 2 6 5 3 5 8 9
66