public void findAllRes(Map<String, List<String>> parents, ArrayList<ArrayList<String>> res, 
			int step, int curStep, String start, String curWord, String[] words) {
		if(curStep == step) {
			if(!curWord.equals(start)) return;
			ArrayList<String> list = new ArrayList<String>();
			for(int i = step-1; i >= 0; i--) list.add(words[i]);
			res.add(list);
			return;
		}
		for(String next : parents.get(curWord)) {
			words[curStep] = next;
			findAllRes(parents, res, step, curStep+1, start, next, words);
		}
	}