#HJ1105. 投球游戏

投球游戏

你在玩投球游戏。

如图为五个不同颜色的同心圆,你将球扔进不同的颜色区域会得到不同分数,自上而下得到的分数为 w1,w2,w3,w4,w5w_1,w_2,w_3,w_4,w_5。

你在一次游戏中获得的总分,等于若干次投球所得分数之和。

你需要计算:在一次游戏中,使最终总分恰好达到 nn 所需投球次数的期望值。

我们作出如下约定:

  • 每次只能投出一个球;
  • 由于你的投球技术足够高超,球不会落到圆形区域外,并且每次都会完整地落入某一个颜色区域内;
  • 连续两次投球不能落入同一个颜色区域;
  • 每次投球前,你会先判断当前有哪些颜色区域可以选择。若将球投进某个区域后,无论之后如何继续投球,都不可能使总分恰好达到 nn,则该区域不会被选择;
  • 在当前所有可以选择的颜色区域中,你会以相同的概率随机选择一个区域进行投球。

形式化的,记序列 pp 为你若干次扔球所得到的一个合法序列, 其中 p={p1,p2,⋯ ,pk}p = \{p_1, p_2, \cdots,p_k\},序列 pp 满足:

  • 1≤pi≤5,1≤i≤k1 \leq p_i \leq 5, 1 \leq i \leq k
  • pi≠pi+1,1≤i≤k−1p_i \neq p_{i + 1}, 1\leq i \leq k - 1
  • wp1+wp2+⋯+wpk=nw_{p_1} + w_{p_2} + \cdots + w_{p_k} = n

你需要求 kk 的期望长度。

输入

第一行输入一个正整数 T(1≤T≤20)T(1 \leq T \leq 20), 表示测试用例的数目。如下给出每个测试用例的描述。

输入仅占一行,一行 66 个正整数 n,w1,w2,w3,w4,w5(∀1≤i≤5,1≤wi≤2000;max⁡i=15wi≤n≤104)n,w_1,w_2,w_3,w_4,w_5(\forall 1 \leq i \leq 5, 1 \leq w_i \leq 2000; \max \limits _{i=1} ^ 5w_i \leq n \leq 10^4)。

输出

每个测试用例输出占一行.对每个测试用例,若分数能达到 nn,输出答案对 998244353998244353 求余后的结果。否则输出 −1-1。

具体来说,如果期望值可以表示为有理数PQ\frac{P}{Q},则输出 P×Q−1 mod 998244353P \times Q^{-1} \bmod 998244353,其中 Q−1Q^{-1} 表示 QQ 在模 998244353998244353 意义下的逆元。

样例

3
5 1 2 3 4 5
3 1 1 1 2 1
5 3 4 4 3 3
2
798595485
-1

提示/说明

对于第一组样例,满足条件且总得分为 55 的合法序列为:

{5},{1,4},{4,1},{2,3},{3,2},{1,3,1},{2,1,2}\{5\}, \{1,4\},\{4,1\},\{2,3\},\{3,2\},\{1,3,1\},\{2,1,2\}

第一次投球进入任一区域的概率均为 15\frac{1}{5}

由此可得各序列概率:

P({5})=15P(\{5\})=\frac15

P({4,1})=P({3,2})=15P(\{4,1\})=P(\{3,2\})=\frac15

P({2,3})=P({2,1,2})=P({1,4})=P({1,3,1})=15×12=110P(\{2,3\})=P(\{2,1,2\})=P(\{1,4\})=P(\{1,3,1\}) =\frac15\times\frac12=\frac1{10}

因此投球次数 kk 的分布为:

P(k=1)=15P(k=1)=\frac15

P(k=2)=15+15+110+110=35P(k=2)=\frac15+\frac15+\frac1{10}+\frac1{10}=\frac35

P(k=3)=110+110=15P(k=3)=\frac1{10}+\frac1{10}=\frac15

故期望投球次数为:

E(k)=1×15+2×35+3×15=2E(k)=1\times\frac15+2\times\frac35+3\times\frac15=2