大法师与魔法石
题号:NC20794
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

大法师正在提高自己的魔法水平。

大法师现在有n个魔法石,它们的的魔力值分别是

现在大法师要从魔法石中挑出连续的一段来施法。

大法师有一个自身的法力值v,大法师的魔力可以和魔法石的魔力发生共振,大大增强魔法石的效果。

我们定义一个法力值为x的法术能够被大法师施展当且仅当存在一个使用魔法石的方法(设其和为s),使得

大法师惊奇地发现,所有法力值相同的法术是一样的。

现在大法师想知道,他能施展出多少种法术。

输入描述:

本题开启多组数据

第一行一个正整数T表示数据组数。

每组数据两行:

第一行两个正整数n,v分别表示大法师拥有的魔法石数量和大法师自身的法力值。

第二行n个正整数分别表示魔法石的法力值。

输出描述:

一共T行,每行一个非负整数表示答案。
示例1

输入

复制
1
3 2
2 10 100

输出

复制
73

说明

大法师一共有6种选择魔法石的方法。

它们的和及能施放出的魔法分别如下所示:
Sum= 2 [1,2]
Sum=12 [6,12]
Sum=10 [5,10]
Sum=112 [56,112]
Sum=110 [55,110]
Sum=100 [50,100]

备注:

对于 30% 的数据,保证 

对于另外 20% 的数据,保证 

对于 100% 的数据,保证  。