#include
using namespace std;
int coinchange(int a[],int rows,int columns)
{
int dp[rows+1][columns+1];
for(int i=0;i<=rows;i++)
{
dp[i][0]=1;
}
for(int i=0;i<=columns;i++)
{
dp[0][i]=0;
}
dp[0][0]=1;
for(int i=1;i<=rows;i++)
{
for(int j=1;j<=columns;j++)
{
dp[i][j]=dp[i-1][j];
if(j-a[i-1]>=0)
dp[i][j]=dp[i][j]+dp[i][j-a[i-1]];
}
}
return dp[rows][columns];
}
int main() {
int t,n,m;
cin>>t;
while(t–)
{
int arr[100000];
cin>>n;
for(int i=0;i<n;i++)
cin>>arr[i];
cin>>m;
cout<<coinchange(arr,n,m)<<endl;
}
return 0;
}