void build(String s, int lvl, int n) {
		if (lvl == n) {
			List<String> newlist = new ArrayList<String>(list);
			result.add(newlist);
			return;
		}
		for (int i = 1; i <= s.length(); i++) {
			String sub = s.substring(0, i);
			if (checkPalindrome(sub)) {
				list.add(sub);
				build(s.substring(i), lvl + i, n);
				list.remove(list.size() - 1);
			}
		}
	}