dp, trie