#agc054b. [agc054_b]Greedy Division

[agc054_b]Greedy Division

题目描述

我们有 NN 个橙子,编号从 11NN。第 ii 个橙子的重量为 WiW_i。高桥和青木将按照以下方式分享这些橙子:

  • 选择一个排列 (p1,p2,,pN)(p_1, p_2, \cdots, p_N),其中 (p1,p2,,pN)(p_1, p_2, \cdots, p_N)(1,2,,N)(1,2,\cdots,N) 的一个排列。

  • 按照这个顺序,对于每个 i=1,2,,Ni = 1, 2, \cdots, N,执行以下操作:

    • 如果高桥拿到的橙子的总重量不超过青木拿到的橙子的总重量,高桥拿到编号为 pip_i 的橙子。否则,青木拿到编号为 pip_i 的橙子。

找出满足高桥拿到的橙子的总重量等于青木拿到的橙子的总重量的排列 pp 的数量,并对 998244353998244353 取模。

约束条件

  • 2N1002 \leq N \leq 100
  • 1Wi1001 \leq W_i \leq 100
  • 输入中的所有值都是整数。

输入

从标准输入读入数据,格式如下:

NN W1W_1 W2W_2 \cdots WNW_N

输出

打印答案。

示例输入 1

3
1 1 2

示例输出 1

4

满足条件的排列 pp 有四种:(1,3,2),(2,3,1),(3,1,2),(3,2,1)(1,3,2),(2,3,1),(3,1,2),(3,2,1)。例如,如果 p=(3,2,1)p=(3,2,1),则会发生以下情况:

  • i=1i=1:高桥和青木拿到的橙子的总重量分别为 0000。高桥拿到编号为 pi=3p_i=3 的橙子。
  • i=2i=2:高桥和青木拿到的橙子的总重量分别为 2200。青木拿到编号为 pi=2p_i=2 的橙子。
  • i=3i=3:高桥和青木拿到的橙子的总重量分别为 2211。青木拿到编号为 pi=1p_i=1 的橙子。

因此,排列 p=(3,2,1)p=(3,2,1) 符合条件。

示例输入 2

4
1 2 3 8

示例输出 2

0

示例输入 3

20
2 8 4 7 5 3 1 2 4 1 2 5 4 3 3 8 1 7 8 2

示例输出 3

373835282