下次再见

题目背景

> 在逝去的季节中 遗失的宝藏 > > 是缺失一角的 珍贵拼图 > > 就像白雪在街道上 温柔地堆积的样子 > > 也将回忆相簿的空白 全部填满吧

题目描述

有一首由 $n$ 个圆圈组成的乐曲.玩家会 **等概率随机选定** $1 \sim n$ 中的一个位置开始游玩,顺序点击那个位置和之后的所有圆圈来完成乐曲的演奏. 对于每个圆圈的点击精准度存在四种判定,分别是 $\texttt{GREAT,OK,MEH,MISS}$. 存在一种机制:当连续 $K$ 次 $\texttt{MISS}$ 后,玩家会强制退出游戏;否则玩家会一直游玩直到点击完所有圆圈. 现在给出对于每个圆圈,玩家达成每一种判定的概率:对于第 $i$ 个圆圈,判定 $\texttt{GREAT},\texttt{OK},\texttt{MEH},\texttt{MISS}$ 的概率分别为 $P_{i,0}/100,\ P_{i,1}/100,\ P_{i,2}/100,\ P_{i,3}/100$.保证 $P_{i,0}+P_{i,1}+P_{i,2}+P_{i,3}=100$. 得分是衡量整段演奏的指标,它的计算方式是,假设整段演奏中出现了 $a$ 次 $\texttt{GREAT}$,$b$ 次 $\texttt{OK}$,$c$ 次 $\texttt{MEH}$,$d$ 次 $\texttt{MISS}$,那么演奏的得分为 $300a+100b+50c$. 你需要回答玩家得分的期望. 说明:如果强制退出游戏,那么计算得分时,整段演奏包括从开始的点击到最后一次判定 $\texttt{MISS}$ 的点击为止所有的点击. 在部分数据大小范围较大的测试点上,为了减小输入输出的交互量,我们采用了不同的输入方式.您需要在您的 c++ 代码中加入题目附件中提供的数据生成器.建议在阅读接下来的内容前先浏览一下生成器中提供的函数名称,这可以帮助您更好地理解输入格式.

输入输出格式

输入格式


第一行包含两个整数 $Type,seed$. 当 $Type=1$ 的时候,您需要在读入 $seed$ 之后调用 `Ge.init(seed)` 来设置数据生成器的种子.否则您可以忽视 $seed$. 第二行包括两个整数 $n,K$. 接下来分两种情况: - $Type=0$.接下来 $n$ 行,每行包括 $4$ 个整数,表示 $P_{i,0}\ P_{i,1}\ P_{i,2}\ P_{i,3}$. - $Type=1$.接下来没有任何输入.您第 $i$ 次调用 ``Ge.get(a,b,c,d)`` 之后,$a,b,c,d$ 的值分别为 $P_{i,0}\ P_{i,1}\ P_{i,2}\ P_{i,3}$.

输出格式


一行一个整数,表示答案 $\bmod\ 998244353$. 说明:可以证明,答案能够表示为 $p/q$.您需要输出 $q$ 在 $\bmod\ 998244353$ 意义下的逆元和 $p$ 的乘积对 $998244353$ 取模后的结果.

输入输出样例

输入样例 #1

0 0
4 2
10 20 20 50
20 10 20 50
20 20 10 50
20 50 10 20

输出样例 #1

530317523

输入样例 #2

0 280114129
5 5
36 23 30 11
0 52 25 23
14 61 23 2
10 41 37 12
0 12 78 10

输出样例 #2

898420164

输入样例 #3

1 114
5141 919

输出样例 #3

800181066

说明

|测试点编号|数据范围|特殊性质| |:-:|:-:|:-:| |$1\sim 2$|$n\le 5$|| |$3\sim 4$|$n\le 50$|| |$5\sim 6$|$n\le 10^3$|| |$7\sim 8$|$n\le 10^5,K\le 10^3$|| |$9\sim 10$||$A$| |$11\sim 12$||$B$| |$13\sim 15$|$n,K\le 5\times 10^5$|| |$16\sim 20$|| $A$:保证所有位置的 $P_{i,3}$ 相等. $B$:保证对于所有位置,$P_{i,3}$ 等于 $0$ 或等于 $100$. --- 对于编号在 $1\sim 15$ 的测试点,$Type=0$;对于编号在 $16\sim 20$ 的测试点,$Type=1$. 保证,对于全部数据,$0\le P_{i,0/1/2/3}\le 100$,$1\le K\le n\le 5\times 10^6$,$Type=0/1$,$1\le seed\le 10^9$.