public void combineRec(ArrayList<ArrayList<Integer>> res, Deque<Integer> tmp, int left, int n, int s) {
		if (left == 0) {
			res.add(new ArrayList<Integer>(tmp));
		}
		for(int i = s; i <= n; ++i){
            tmp.addLast(i);
            combineRec(res, tmp, left-1, n, i+1);
            tmp.removeLast();
		}
	}