#CF1954D. 彩色球

彩色球

彩色球

  • 时间限制:2 秒
  • 内存限制:1024 MiB

题目描述

有 nn 种不同颜色的球,第 ii 种颜色有 aia_i 个球。

这些球可以被分成若干组。每组至多包含 22 个球,并且同一组内不能出现两个颜色相同的球。

考虑全部 2n2^n 个颜色集合。对于一个颜色集合,只使用这些颜色的全部球,定义该集合的价值为所需的最少组数。例如,若选中的三种颜色分别有 33、11、77 个球,则至少需要 77 组,并且可以恰好分成 77 组,所以这个集合的价值为 77。

求全部 2n2^n 个颜色集合的价值之和。答案对 998244353998244353 取模。

输入格式

第一行包含一个整数 nn,表示颜色数。

第二行包含 nn 个整数 a1,a2,…,ana_1,a_2,\ldots,a_n,其中 aia_i 表示第 ii 种颜色的球数。

输出格式

输出一个整数,表示全部颜色集合的价值之和对 998244353998244353 取模后的结果。

样例输入 1

3
1 1 2

样例输出 1

11

样例输入 2

1
5

样例输出 2

5

样例输入 3

4
1 3 3 7

样例输出 3

76

样例说明

对于第一个样例,88 个集合的价值依次为 0,1,1,2,1,2,2,20,1,1,2,1,2,2,2,总和为 1111。

数据范围

对于所有测试数据:

  • 1≤n≤50001\le n\le5000;
  • 1≤ai≤50001\le a_i\le5000;
  • ∑i=1nai≤5000\sum_{i=1}^{n}a_i\le5000。
子任务编号 分值 特殊限制
1 20 对所有 ii,均有 ai=1a_i=1
2 40 n≤20n\le20
3 无特殊限制