public void getSum(int[] candidates, ArrayList<Integer> temp, int start,
			int sum, int target) {
		if (sum > target)
			return;
		if (sum == target) {
			result.add(new ArrayList<Integer>(temp));
		}
		for (int i = start; i < candidates.length; i++) {
			temp.add(candidates[i]);
			getSum(candidates, temp, i, sum + candidates[i], target);
			temp.remove(temp.size() - 1);
		}

	}