Use recursion (dynamic programming)