一群玩家来到了古城遗迹,他们通过一个狭隘的长廊时触发了幽匿尖啸体!监守者即将出现,避无可避的方块人们只能四散开来,敛声屏息......
在一个长度为 n 的长廊中,若干个玩家(可能为 0 个玩家)排成一排,由于长廊十分狭窄,每个格子中只能站立最多一个玩家。监守者没有视力,但听觉嗅觉十分灵敏,一旦任意连续 8 格中存在的玩家超过 k 名,监守者就会发现他们的存在,展开追杀。你需要告诉玩家们,他们有多少种站位方式,可以不被监守者发现?
形式上,在一个长度为 n 的空数组中,你需要填入任意个 1,使得任意连续 8 格中存在的 1 的数量不超过 k,问有多少种填入方式,对 998244353 取模。
输入
每个测试文件由多个测试用例组成。第一行包含一个整数 t (1 \leq t \leq 10^4) 表示测试用例数。
对于每个测试用例,输入两个整数 n, k (0 \leq k \leq 8 \leq n \leq 10^5), 分别表示长廊的长度,和任意 8 格中玩家的最大数目。
数据保证所有测试用例中 n 的总和不超过 10^5。
输出
对于每个测试用例,每行输出一个正整数,表示站位方式的总数,对 998244353 取模。
样例
| 标准输入 复制文本 |
4 8 0 8 8 10 4 4096 5 |
| 标准输出 复制文本 |
1 256 527 927438325 |