409801: GYM103765 F 摘橘子

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

F. 摘橘子time limit per test2.5 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard output

lililalala路过了一片橘子园,他准备从橘子园里摘橘子回去给队友们分享。这片橘子园有n棵橘子树,其中第i棵橘子树上有ai个橘子,对于每棵橘子树i,lililalala都可以选择从上面摘[0, ai]中任意整数数量的橘子(即0, 1, 2...ai)。lililalala总共有m个队友,因此他希望他摘到的橘子能平均分给这些队友,也就是说摘到橘子的总数能整除m

请问lililalala有多少种不同的摘橘子的方案?

注意,当两个方案中存在任意一棵橘子树摘下的橘子数量不同时,这两个方案就称为不同的方案。

Input

第一行一个整数T–表示测试样例个数。

然后每个样例包含两行,第一行包含两个整数1 ≤ n ≤ 104, 1 ≤ m ≤ 50–表示橘子树的数量和队友的数量。

第二行包含n个整数1 ≤ a0, a1...an ≤ 105,表示这些橘子树上的橘子数量。

保证样例数量T ≤ 103,所有样例中

Output

对于每个样例,输出一个整数,表示方案的数量。由于方案数可能很大,答案请对998244353取模。

ExampleInput
4
3 1
1 1 1
3 2
1 1 1
3 2
1 1 2
2 2
1000000000 1000000000
Output
8
4
6
359791097

加入题单

算法标签: