#include<bits/stdc++.h>
using namespace std;
const long long M=1e5+10,MOD=1e9+7;
typedef long long ll;
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
int t=1;
cin>>t;
while(t--){
int n,k;
cin>>n>>k;
vector<int>a(n);
for(int & x:a)cin>>x;
int sum=accumulate(a.begin(),a.end(),0);
int limit=-1;
for(int i=0;i<=sum;i++){
if(sum-i>=k)limit=i;
}
sort(a.begin(),a.end());
vector<ll>dp(n+2,0);
dp[0]=1;
for(int i=1;i<=n;i++){
vector<ll>temp=dp;
for(int j=a[i-1];j<=limit;j++){
dp[j]=(dp[j] + temp[j-a[i-1]])%MOD;
}
}
dp[0]=(dp[0]-1LL+MOD)%MOD;
ll ans=0;
for(int i=0;i<=limit;i++)ans=(ans+dp[i])%MOD;
cout<<ans<<"\n";
}
return 0;
}