import java.util.*;
import java.lang.*;
import java.io.*;
class Codechef
{
{
// your code goes here
Scanner sc
=new Scanner
(System.
in); int t=sc.nextInt();
while(t-->0){
int n=sc.nextInt();
int y=sc.nextInt();
int [] ar=new int[n];
for(int i=0;i<n;i++){
ar[i]=sc.nextInt();
}
int ok=solve(ar,y);
}
sc.close();
}
public static int solve(int []ar,int y){
int [][] dp=new int[ar.length+1][y+1];
dp[0][0]=1;
for(int i=1;i<=ar.length;i++){
for(int j=0;j<=y;j++){
dp[i][j] = dp[i - 1][j];
if (j >= ar[i - 1]) {
dp[i][j] += dp[i - 1][j - ar[i - 1]];
}
}
}
return dp[ar.length][y];
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgpjbGFzcyBDb2RlY2hlZgp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCgkJU2Nhbm5lciBzYz1uZXcgU2Nhbm5lcihTeXN0ZW0uaW4pOwoJCWludCB0PXNjLm5leHRJbnQoKTsKCQl3aGlsZSh0LS0+MCl7CgkJICAgIGludCBuPXNjLm5leHRJbnQoKTsKCQkgICAgaW50IHk9c2MubmV4dEludCgpOwoJCSAgICBpbnQgW10gYXI9bmV3IGludFtuXTsKCQkgICAgZm9yKGludCBpPTA7aTxuO2krKyl7CgkJICAgICAgICBhcltpXT1zYy5uZXh0SW50KCk7CgkJICAgIH0KCQkgICAgaW50IG9rPXNvbHZlKGFyLHkpOwoJCSAgICBTeXN0ZW0ub3V0LnByaW50bG4ob2spOwoJCX0KCQlzYy5jbG9zZSgpOwoJfQoJCglwdWJsaWMgc3RhdGljIGludCBzb2x2ZShpbnQgW11hcixpbnQgeSl7CgkgICAgaW50IFtdW10gZHA9bmV3IGludFthci5sZW5ndGgrMV1beSsxXTsKCSAgICBkcFswXVswXT0xOwoJICAgIGZvcihpbnQgaT0xO2k8PWFyLmxlbmd0aDtpKyspewoJICAgICAgICBmb3IoaW50IGo9MDtqPD15O2orKyl7CgkgICAgICAgICAgICBkcFtpXVtqXSA9IGRwW2kgLSAxXVtqXTsKICAgICAgICAgICAgICAgIGlmIChqID49IGFyW2kgLSAxXSkgewogICAgICAgICAgICAgICAgICAgIGRwW2ldW2pdICs9IGRwW2kgLSAxXVtqIC0gYXJbaSAtIDFdXTsKICAgICAgICAgICAgICAgIH0KCSAgICAgICAgfQoJICAgIH0KCSAgICByZXR1cm4gZHBbYXIubGVuZ3RoXVt5XTsKCX0KfQo=