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=