#ATarc160c. [ARC160C] Power Up

[ARC160C] Power Up

题目描述

给定一个由正整数组成的 NN 元素多重集 A={A1,A2,,AN}A=\lbrace A_1,A_2,\dots,A_N \rbrace

你可以任意次数(也可以不进行操作)重复以下操作:

  • 选择一个在 AA 中出现次数不少于 22 的正整数 xx。从 AA 中删除 22xx,并向 AA 中添加 11x+1x+1

请你求出最终可能得到的 AA 的不同多重集的个数,并对 998244353998244353 取模后输出。

输入格式

输入以以下格式从标准输入给出。

NN A1A_1 A2A_2 \dots ANA_N

输出格式

输出答案。

样例 1

输入

4
1 1 2 4

输出

3

样例 2

输入

5
1 2 3 4 5

输出

1

样例 3

输入

13
3 1 4 1 5 9 2 6 5 3 5 8 9

输出

66

说明/提示

限制条件

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

样例解释 1

最终可能得到的 AA{1,1,2,4}\lbrace 1,1,2,4 \rbrace{2,2,4}\lbrace 2,2,4 \rbrace{3,4}\lbrace 3,4 \rbrace33 种。{3,4}\lbrace 3,4 \rbrace 可以通过如下方式得到:

  • 选择 x=1x=1,从 AA 中删除 2211,添加 1122,此时 A={2,2,4}A=\lbrace 2,2,4 \rbrace
  • 选择 x=2x=2,从 AA 中删除 2222,添加 1133,此时 A={3,4}A=\lbrace 3,4 \rbrace

由 ChatGPT 4.1 翻译