题号:NC26119
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
Rikka 是一个热爱思考的女孩子。
在数学课上,她学习了高中数学课本中的“数列”的概念。
在算法竞赛中,“数列”可以近似地看作是“数组”,我们定义数列

的第 i 项为

,定义一个所有项都一样的数列为常数数列。
老师告诉她,如果定义一个新数列

使

,那么数列

被称为数列

的差分数列,构造数列

的过程被称为差分。
容易发现,一个长度为 n 的数列

在一次差分之后会得到一个长度为 n - 1 的差分数列。
现在 Rikka 有一个特殊的无穷多项的数列

,其中

,c 和 k 是两个给定的常数。举一个最简单的例子,当 c = 1,k = 2 时,这个数列可以表示成

。
Rikka 惊奇地发现,把这个数列差分 k 次后会得到一个常数数列,现在她想知道,这个常数数列中的数是多少。
请你来帮助 Rikka 回答这个问题。
输入描述:
输入包括 T + 1 行。
第一行是一个整数 T,表示 Rikka 的询问次数。
接下来有 T 行,每行两个整数 c 和 k,表示这一次询问中数列的两个常数。
输出描述:
输出包括 T 行。
对于每一个询问,输出一行一个整数,表示这一个询问的答案。
你也知道 Rikka 的数学不好,所以只需要告诉她这个答案对 998244353 取模后的值。
备注:
保证对于所有的测试数据,
,
,
。