void build(List<List<Integer>> result, ArrayList<Integer> cur, int lower,
			int n, int k) {
		if (cur.size() == k) {
			result.add(cur);
			return;
		}
		if (lower > n) {
			return;
		}
		for (int i = lower; i <= n; i++) {
			ArrayList<Integer> curN = new ArrayList<Integer>(cur);
			curN.add(i);
			build(result, curN, i + 1, n, k);
		}
	}