public static void depthFS(int pos, int count, int sum, int[] num, int target,
            ArrayList<Integer> tmpStore, ArrayList<ArrayList<Integer>> res) {
        if (count == 4) {
            if (sum == target) {
                res.add(new ArrayList<Integer>(tmpStore));
            }
        } else {
            for (int i = pos; i < num.length && count < 4; i++) {
                if (sum + num[i] <= target) {
                    tmpStore.add(num[i]);
                    depthFS(i + 1, count + 1, sum + num[i], num, target, tmpStore, res);
                    tmpStore.remove(tmpStore.size() - 1);
                }
            }
        }
    }