import java.util.*;


public class Solution {
    int track = 0;
    int res = 0;
    public int combination (int[] nums, int target) {
        backtrack(nums,target);
        return res;
    }
    private void backtrack(int[] nums,int target){
        if(track == target){
            res++;
            return;
        }
        if(track > target)
            return;
        for(int i = 0;i<nums.length;i++){
            track += nums[i];
            backtrack(nums,target);
            track -= nums[i];
        }
    }
}