/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param target int整型 
 * @param nums int整型一维数组 
 * @return int整型
 */
const f =(target,nums) =>{
    let dp = new Array(target+1).fill(0);
    dp[0]=1;
    for(let coin of nums){
        for(let i = coin; i<=target;i++){
                dp[i] += dp[i - coin]
        }  
    }
    return dp[target]
}
function change( target ,  nums ) {
    // write code here
    return f(target,nums)
}
module.exports = {
    change : change
};