
const { count } = require("console");
const fs = require("fs");
const { nextTick } = require("process");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./예제.txt";
let input = fs.readFileSync(filePath).toString().trim();
// const fs = require('fs');
// let input = fs.readFileSync("/dev/stdin").toString().trim();
input=input.split('\n')
let T=+input.shift();
for (let i = 0; i < T; i ++) {
let num = +input.shift();
let coins = input.shift().toString().split(' ').map((v) => +v);
let won = +input.shift();
let dp = Array.from({length: won + 1}, () => 0);
dp[0] = 1
for (let j = 0; j < num; j++) {
for (let k = coins[j]; k <= won; k++) {
dp[k] += dp[k - coins[j]];
}
}
console.log(dp[won]);
}
https://velog.io/@fredkeemhaus/%EB%B0%B1%EC%A4%80-9084-%EB%8F%99%EC%A0%84