#21820. 英雄小队(hero)

英雄小队(hero)

说明

蒟蒻队长的城市里最近建立了《英雄协会》,允许愿意为公众付出的人们注册成为英雄

协会会一开始给每个注册的英雄定义一个等级,拥有 $2^x$ 战力的英雄会被评为 $x$ 级

每个英雄能够解决危害程度小于等于他战力的所有事件,并且协会保证,在评价战力时,同个等级的英雄最多只会有两位,并且最高战力的英雄评级为 $KING$ 级

而现在高瞻远瞩的蒟蒻队长在思考一个问题,如果出现一个事件危害程度达到了 $2^{KING+1}$,协会有办法解决吗?

那只能是让英雄们组队来解决这个问题了,蒟蒻队长知道协会一共有 $n$ 个英雄,每位英雄的等级分别为 $a_i$

蒟蒻队长想知道一共有多少种不同的组队方案,能使得这个英雄小队的战力达到 $2^{KING+1}$

P.S. 这里蒟蒻队长不想浪费人力,所以希望英雄小队的战力刚好为 $2^{KING+1}$

输入格式

输入第一行包含一个整数 $n$ 表示英雄人数

输入第二行包含 nn 个整数 aia_i,分别表示每个英雄的评级

测试数据$n$$a_i$特殊性质
$1 \sim 3$$n \leq 20$$0 \leq a_i \leq n$无
$4 \sim 5$$n \leq 10^5$$0 \leq a_i \leq 10^9$不存在相同评级的英雄
$6 \sim 7$$n \leq 10^5$$0 \leq a_i \leq 10^9$只有一个评级有两位英雄
$8 \sim 10$$n \leq 10^5$$0 \leq a_i \leq 10^9$无
</span>

输出格式

输出可能的方案数,由于答案可能很大,请将答案对 $998244353$ 取模

6
0 1 3 3 4 4
3

提示

在样例中,$KING = 4$,需要组队战力为 $2^5$
方案 $1$:两位 $4$ 级英雄组队,战力 $2^4+2^4=2^5$
方案 $2$:$5$ 号 $4$ 级英雄和两位 $3$ 级英雄,战力 $2^4+2^3+2^3=2^5$
方案 $3$:$6$ 号 $4$ 级英雄和两位 $3$ 级英雄,战力 $2^4+2^3+2^3=2^5$

来源

CSP模拟赛