leftover: think over about DP, Trie tree method
recursion complexity, dfs, DP